1. A method of generating a gradient, the method comprising: receiving a selection of a portion of an image; receiving at least one input comprising an indication of a start point in the image, an indication of an end point in the image, and an indication of a portion of the image between the start point and the end point; generating a first plurality of gradient stops corresponding to at least a portion of the selection, wherein the plurality of gradient stops are based on the start point, the end point, and the portion of the image between the start point and the end point; and creating a gradient based on the generating.