我刚刚开始使用 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),但它没有帮助。
请帮忙!