1. A method, comprising: receiving a plurality of images; receiving an indication of one of the plurality of images as a base image, wherein the remaining not indicated images comprise one or more source images; receiving a selection of one or more regions of the one or more source images to be copied onto the base image; receiving input setting a blend parameter for each of the selected regions, wherein the blend parameter for each selected region includes a blend amount for the selected region; and blending the plurality of images together into a composite image, wherein said blending comprises matching image gradients across one or more seams of the composite image, wherein the image gradients are based on the blend parameters, wherein said blending further comprises: storing image data in a buffer for each of the plurality of images; storing a blend map for each of the selected regions based on each selected region's corresponding blend parameter; computing modified image data based on the stored image data and stored blend maps for each of the selected regions; computing a composite vector field that includes an image gradient for: the base image, each region of the modified image data, and a plurality of boundaries that exist at a plurality of regions of the modified image data; and generating composite image data, wherein said generating includes matching a plurality of gradients of the composite image to the composite vector field.