主题:[讨论]请教GDI+画直线的问题
我想用GDI+实现一些简单的画图功能,其中一点就是画直线时鼠标按下左键在面板上拖动时出现一条虚的直线,松开左键后直线才画到面板上去.
一个思路是记下单击点A,鼠标移动到的位置记为当前点B,画出线段AB,当B点坐标改变后用面板的背景色擦除原线段,重新绘制线段AB,如此重复直到释放左键.
但这样做有一个问题没法解决,就是当背景色比较复杂,比如背景有许多种颜色相接组成或者是由渐变色组成就无法用DrawLine方法擦除了.为了解决这个问题,如果使用直接绘制像素点的办法势必导致效率很低,因为用鼠标拖出一条直线并且直线位置不断变化,一定包含太多的像素点,这样画了擦擦了画,效率会比较底.
请教GDI+高手,该如何解决这个问题啊?
一个思路是记下单击点A,鼠标移动到的位置记为当前点B,画出线段AB,当B点坐标改变后用面板的背景色擦除原线段,重新绘制线段AB,如此重复直到释放左键.
但这样做有一个问题没法解决,就是当背景色比较复杂,比如背景有许多种颜色相接组成或者是由渐变色组成就无法用DrawLine方法擦除了.为了解决这个问题,如果使用直接绘制像素点的办法势必导致效率很低,因为用鼠标拖出一条直线并且直线位置不断变化,一定包含太多的像素点,这样画了擦擦了画,效率会比较底.
请教GDI+高手,该如何解决这个问题啊?