0

我刚刚开始使用 Android 图形并全面解决了这个问题。我目前正在开发一个绘图应用程序,一旦我掌握了基础知识,我会将它扩展到更酷的东西。

我正在尝试在现有图像(包含所有先前的路径)上绘制路径,但由路径边界表示的矩形同时被绘制为实心形状,覆盖了背景图像的位。

我正在使用以下命令使我的画布无效并绘制所需的更新:

invalidate
(
    (int) (dirtyRect.left - HALF_STROKE_WIDTH),
    (int) (dirtyRect.top - HALF_STROKE_WIDTH),
    (int) (dirtyRect.right + HALF_STROKE_WIDTH),
    (int) (dirtyRect.bottom + HALF_STROKE_WIDTH)
);

在我的 onDraw 中,我有以下内容:

if (drawing.size() > 0) //if there are paths
{
    canvas.drawPath(drawing.get(drawing.size() - 1), paint); //draw the latest path
}

我可以在我的绘图中绘制所有路径(定义为路径对象的 LinkedList),但这非常慢。我只想在画布上绘制最新的路径,而路径周围不会出现任何愚蠢的矩形。

在调用 drawPath 之前,我已经尝试过 canvas.drawColor(Color.TRANSPARENT),但它没有帮助。

请帮忙!

4

1 回答 1

0

Look into porterduff mode, it allows you to blend

于 2013-02-01T01:07:22.133 回答