An image editing program includes a user interface for displaying a work area and receiving image edit inputs; and an engine for overlaying a grid on the work area, and using grid elements to generate commands in response to the image edit inputs.