1. A computer implemented method for generating an image template, the method comprising: identifying at least one primary image file, wherein the at least one primary image file is stored on a computer accessible medium and each of the at least one primary image file is associated with corresponding computer accessible primary image attribute information; selecting at least one secondary image file to be displayed in coordination with the at least one primary image file, wherein the secondary image file is stored on a same or different computer accessible medium as the primary image file, each of the at least one secondary image is associated with corresponding computer accessible secondary image attribute information; selecting a digital template based on the primary image file, the template having a plurality of digital windows for disposing therein primary and secondary images from the primary and secondary image files, the template windows each having associated therewith required image attributes that are satisfied by the primary image attribute information; and the step of selecting at least one secondary image file comprises analyzing the at least one primary image attribute information and the at least one secondary image attribute information.