Apache flex 如何在flex canvas drwing中擦除线条

Apache flex 如何在flex canvas drwing中擦除线条,apache-flex,drawing,Apache Flex,Drawing,我正在制作一个flex白板应用程序,其中在图像上绘制线条 以下是场景: 1:容纳背景图像和绘图画布的主画布 2:用户可以通过拖动图像来移动图像 3:用户可以绘制图像,实际上是在画布上绘制图像 我在擦除线条时遇到了问题,就像在油漆中用橡皮擦一样。搜索了evry的位置,但没有找到删除绘制线的方法 这是画线的代码 public function doMouseMove() : void { x2 = canvas2.mouseX; y2 = canvas2.m

我正在制作一个flex白板应用程序,其中在图像上绘制线条 以下是场景:

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

若你们并没有注意到,MS Paint中的in橡皮擦并不是一个橡皮擦,而是一个带有“颜色2”的画笔。当你有一个白色背景,并且画笔颜色设置为白色时,你会认为它在擦除,但实际上它是用白色绘制的

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

试试这个画框


如果将blendmode设置为橡皮擦,则会得到一个透明的橡皮擦。它在Windows上运行良好,但在移动设备上不起作用。橡皮擦不会影响背景图像。

图像和画布已经在不同的层上。但正如你们所说,橡皮擦是绘画画布的背景色。当我这样做时,它会在图像上画白线。它是否可以像透明的那样去除线条区域