回答
首先,請註明你用什麼畫。你是否使用任何API或核心圖形框架進行繪圖。
以下是我找到的鏈接中的一些方法。
方法:
上touchesEnded,保存圖片到應用程序沙箱像一個名字.. 1.png,2.png等再穿上「撤消」變量計數。當用戶按下撤消時,只需在計數上加載舊的圖像庫。 (這是我大致可以想到的,但還沒有通過它的編碼,但聽起來很簡單的代碼)。
NSUndoManager。
希望這有助於任何其他人尋找這樣做。
參考鏈接:
http://www.iphonedevsdk.com/forum/iphone-sdk-development/46996-drawing-app-how-do-undo.html
乾杯
我簡單的解決方案是, 1.存放的CGPath。 2.您可以使用清晰混合模式繪製路徑以清除它。
CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeClear);
這取決於很多事情,你必須要更具體的瞭解您所使用的繪圖方法,例如,如果你是在談論「鉛筆」筆觸和繪圖方法使用石英只是畫點什麼,而且你只對最後的筆劃或改變感興趣,你可以隨時保存當前的圖形上下文(圖像上下文或其他),並在出現撤消的情況下顯示。如果你想允許多個筆畫被撤消,你將不得不將它們添加到一個數組中,以便重新繪製到撤消。如果你使用開放式的話,那麼它也是不同的。
-(void)undoButtonClicked
{
if([pathArray count]>0){
UIBezierPath *_path=[pathArray lastObject];
[pathArray removeLastObject];
[bufferArray addObject:_path];
[self setNeedsDisplay];
}
}
它的工作?或任何更多的東西 – 2012-03-02 04:57:25
當我不使用UIBezierPath呢? 我使用這個呢? [curImage drawAtPoint:CGPointMake(0,0)]; CGPoint mid1 = midPoint(previousPoint1,previousPoint2); CGPoint mid2 = midPoint(currentPoint,previousPoint1); context = UIGraphicsGetCurrentContext(); [self.layer renderInContext:context]; – Mashhadi 2012-04-06 11:29:45
非iPhone特定
像素的畫布:
你的選擇是要麼保持整個畫布或得到由堆棧行程所覆蓋的區域的快照。 撤消操作會彈出您的撤消堆棧並重新繪製您堆疊的緩衝區。
不方便的是正確調整撤消限制以避免佔用內存。
矢量繪圖:
這是非常瑣碎....
- 1. 在iphone中的撤消管理器sdk
- 2. CGContextRef撤消繪畫?
- 3. 如何在git中「撤消撤消」?
- 4. 在iPhone SDK中使用NSUndoManager撤消/重做
- 5. 如何在iPhone中爲圖像繪製輪廓sdk
- 6. 如何在iphone sdk中使用圖形繪製虛線圓圈?
- 7. 在繪圖應用程序中撤消
- 8. 在opengl中繪製應用程序中的撤消/重做
- 9. 如何在繪製iphone
- 10. 如何撤消使用c的繪製操作#
- 11. 如何使用CGContextAddLineToPoint撤消線條繪製?
- 12. iPhone SDK中的實時時間消息
- 13. IPHONE - 使用XY座標在UIView中繪製位置iphone SDK
- 14. 如何在iPhone SDK中製作+/-按鈕?
- 15. 如何在繪畫應用中實現撤消操作
- 16. 如何在Android的繪畫應用中實現撤消功能?
- 17. 如何在繪圖應用中實現撤消
- 18. 如何從iPhone中的UIViewCotroller繪製矩形sdk
- 19. OpenGL ES簡單撤消最後繪圖
- 20. 清除最後繪製的圖形? (撤消/重繪圖)
- 21. 如何在iphone中繪製文本
- 22. 如何在iPhone中繪製餅圖
- 23. 如何在iphone中繪製色輪?
- 24. 如何在iphone中繪製路線?
- 25. 如何在iphone中繪製同心圓?
- 26. Iphone SDK - 點擊以撤消滾動視圖內的縮放
- 27. 用iphone sdk繪製單個像素
- 28. 通過觸摸iPhone繪製圖像sdk
- 29. 如何撤消其在SQL
- 30. 如何撤消在善變
請添加更多細節。 – Pochi 2012-03-02 05:08:46