我在Picture中画面线,想实现Undo/Redo,如何实现

解决方案 »

  1.   

    1.用数组记录每次画的线的位置,颜色,粗细等信息,用到一个结构2.简单一点的,把每次画过后的图片都保存下来,撤销的时候只要 LOAD 一下前一步保存的图片就成了
      

  2.   

    没有好办法!Undo用底色重画,Redo再用正常颜色画。前提你要记录每次划线的数据。
      

  3.   

    我认为只能把每一次的图片存起来(在画之前),然后按需要进行UNDO或REDO。
    如果用重画则必须记录每一个点的信息,可能比较麻烦吧。
      

  4.   

    如果只撤消几步的话可以用几个PICTURE控件保存每次画之前的信息,撤消的时候用前一次保存的覆盖就行了.
    如果无限制撤消的话则需要保存每一次的操作及位置!!
      

  5.   

    如果只撤消几步的话可以用几个PICTURE控件保存每次画之前的信息,撤消的时候用前一次保存的覆盖就行了.
    如果无限制撤消的话则需要保存每一次的操作及位置!!
      

  6.   

    还有,如果是复杂图形,则每次只保存变化的部分,相邻两次的图做一下XOR操作,压缩后存储。恢复的时候只需要重新XOR一次