Как спроектировать функцию отмены в Core-Graphics Framework?

Многие люди рекомендовали мне сохранить изображение, которое я только что нарисовал, и загрузить его, когда мне нужно отменить в текущем изображении.

Но я думаю, что это не очень хороший способ сделать это:

  1. сохранить и загрузить на диск приведет к отставанию.
  2. Вы не можете стереть после отмены, потому что вы не можете стереть изображение (не заполняйте backGroundColor).

Итак, я ищу способ восстановить данные CGLayer или контекста, которые бы покрывали текущий как "ресурс рисования", когда вам нужно отменить. Я использовал NSMutableData для этого, но он не работает вообще, потому что был сохранен только указатель.

И я не понимаю, как использовать CGContextSaveState,CGContextRestoreState. Когда вы сохраняете его, вы должны восстановить его до того, как drawRect был сделан, вы не можете сохранить его и восстановить, когда вам нужно отменить, потому что контекст будет уничтожен или сброшен, когда drawRect сделал, и со всем, что я попробовал, ничего не происходит.

Может ли кто-нибудь помочь мне здесь? Спасибо!

0 ответов

Другие вопросы по тегам