Как рекомендует MadProgrammer, вам необходимо либо сохранить копию оригинала, либо создать (двунаправленную) дельту для каждого изменения. Преимущество последнего состоит в том, что вы можете вернуться ко всем этапам редактирования, что-то вроде истории (CTRL + Z / Y во многих программах под окнами).
Для этого вам нужно создать объект, который хранит информацию об изменении пикселей и может быть применен или отменен. Поскольку вы перебираете все пиксели, и практически все пиксели будут затронуты, вы можете просто сохранить все изображение в истории. Это зависит от того, будут ли в вашей программе операции, которые изменят изображение более ограниченным образом, вместо того, чтобы вносить изменения в целое изображение.
@ Edit:
Поскольку вы хотите вращаться между несколькими различными тонированными изображениями, просто выделите три буферизованных изображения и вращайте их.