我刚开始使用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),但它没有帮助。
请帮忙!
答案 0 :(得分:0)
查看porterduff模式,它允许你混合