我画了一个图:一些同心园加十字形成一个坐标系(图形一)
在图形一上画一条曲线(图形二)
图形二可根据不同参数改变。
问题:图形二改变时如何擦掉原来的图形?
我的方法是:用参数1画图形二,当参数变为参数2时,先将Pen.Color设为背景色,再用参数1画图形二(等于将原图擦掉),再改变Pen.Color,用参数2画图形二。这样作带来的问题时图形一中与图形二重叠的部分也被擦掉。
方法2:每次画图形二之前先画一次图形一,可这样会带来屏幕闪烁(参数快速变化时)。
请问如何解决?

解决方案 »

  1.   

    要不然你用两层透明的CANVAS来画,下面那层画图一,
    上面那层画图二,这样,每次只要擦图二就可以了,图一就可以保留了
      

  2.   

    以前用c做过类似的东西,可以用xor解决,画图二时,用xor,删除时也用xor,两次xor会擦掉所绘的图像,但不会改变原图一
      

  3.   

    同意myboor(菜菜菜鸟) 。
    画图二时,canvas.pen.mode := pmXor;
    改变参数时,先用上一个参数重画一次画图二,再用新参数画一遍图二。