1. A method for generating a composite image of a source image, comprising: selecting a first area on the source image; selecting a first image from a plurality of images stored in a database, the first image having color similar to the first area on the source image, wherein the first image comprises at least one transparent region and one non-transparent region; and generating the composite image by at least partially filling a first area on the composite image that corresponds to the first area on the source image with a non-transparent region of the first image so that the first area on the composite image has at least one filled region and one unfilled region.