1. A method, including: receiving an indication of a base image; receiving an indication of an acceptable portion of a source image; automatically computing a boundary area in the base image based at least in part on the acceptable portion of the source image, which is based at least in part on a user stroke having a user stroke area; generating a composite image at least in part by replacing one or more pixels in the base image, including computing a cost function using values of pixels in the source image and values of pixels in the base image and minimizing the cost function by combining the following two input constraints: (1) pixels in the user stroke area are replaced based at least in part on corresponding pixels from the source image; and (2) pixels outside the boundary area are not modified, wherein cost function minimization results in a modified area within the boundary area and an unmodified area within the boundary area, the modified area comprising at least the user stroke area; and displaying the composite image; wherein the boundary area includes the user stroke area as well as a second user stroke area corresponding to a second stroke that was previously made with respect to a second source image.