1. A method in a computing system for cropping an image, the method comprising: providing image templates having conditions and goals; providing an objective function that generates a rating of a candidate cropping of the image to meet the goal of an image template; selecting an image template whose condition is satisfied by the image; identifying a candidate cropping based on the rating of the objective function of the candidate cropping to the selected image template; and cropping the image in accordance with the identified cropping.