我正在制作一个灵活的白板应用程序,其中在图像上绘制线条 这是场景:
1:主画布包含背景图像和绘图画布 2:用户可以通过拖动图像来移动图像 3:用户可以在图像上绘制图像,实际上是在画布上绘制图像。
我在擦除线条时遇到问题,比如橡皮擦。搜索了evry,但没有找到擦除绘制线条的方法
表示绘制线条的代码
public function doMouseMove() : void
{
x2 = canvas2.mouseX;
y2 = canvas2.mouseY;
if (isDrawing && allow)
{
canvas2.graphics.lineStyle(brushThickness, drawColor, brushOpacity);
canvas2.graphics.moveTo(x1, y1);
canvas2.graphics.lineTo(x2, y2);
x1 = x2;
y1 = y2;
}
return;
}// end function
答案 0 :(得分:1)
尝试这个绘图框架 http://www.igorcosta.com/flex3/doc/flash/display/BlendMode.html
如果将blendmode设置为ERASER,您将获得透明橡皮擦。它在Windows上工作正常,但它不适用于移动设备。橡皮擦不会影响背景图像。
答案 1 :(得分:0)
如果你没有注意到,在MS Paint中的橡皮擦不是一个橡皮擦而是一个带有“颜色2”的画笔。如果您有白色背景并且画笔颜色设置为白色,则会让您认为它正在擦除,但实际上它是用白色绘画。
但是,如果要删除图像顶部的图形,则需要有一种方法来分离图像和绘制的图层。