1. A computer system comprising: a memory configured to store: a primary image file; primary image attribute information; a digital template having a plurality of windows for disposing digital images, each of the windows having associated therewith required image attributes; a secondary image file; and secondary image attribute information; and a processing system configured to: automatically select the secondary image file based on a comparison analysis of the primary image attribute information and the secondary image attribute information; and automatically select the digital template based on a comparison analysis of the primary image attribute information and the required image attributes, wherein the required image attributes for each window in the selected digital template comprise a window recipe that is dependent on the primary image attribute information; and wherein the comparison analysis of the primary image attribute information and the secondary image attribute information comprises computing a score for the secondary image file with respect to each of the window recipes.