1. A computer-implemented method for creating an image collage, comprising: allowing an image-collage template to be identified; automatically selecting, by the computer system, a first image from a group of images that best fits image-collage template based on one or more predetermined criteria; fitting the first image in the image-collage template by the computer system, wherein the first image is placed in the image-collage template; automatically selecting based on predetermined criteria, by the computer system, one or more additional images from the group of images that best fit the image-collage template including one or more already placed images, wherein the one or more placed images comprise the first image; and fitting the one or more additional images in the image-collage template by the computer system, wherein an image collage is formed after all images in the group are placed in the image-collage template.