如何在柔性画布绘图中擦除线条

时间:2011-12-08 12:40:07

标签: flex drawing

我正在制作一个灵活的白板应用程序,其中在图像上绘制线条 这是场景:

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

2 个答案:

答案 0 :(得分:1)

尝试这个绘图框架 http://www.igorcosta.com/flex3/doc/flash/display/BlendMode.html

如果将blendmode设置为ERASER,您将获得透明橡皮擦。它在Windows上工作正常,但它不适用于移动设备。橡皮擦不会影响背景图像。

答案 1 :(得分:0)

如果你没有注意到,在MS Paint中的橡皮擦不是一个橡皮擦而是一个带有“颜色2”的画笔。如果您有白色背景并且画笔颜色设置为白色,则会让您认为它正在擦除,但实际上它是用白色绘画。

但是,如果要删除图像顶部的图形,则需要有一种方法来分离图像和绘制的图层。