Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:Canvas-drawPath方法绘制实心背景,而不是透明背景_Android_Graphics_2d - Fatal编程技术网

Android:Canvas-drawPath方法绘制实心背景,而不是透明背景

Android:Canvas-drawPath方法绘制实心背景,而不是透明背景,android,graphics,2d,Android,Graphics,2d,我刚刚开始使用安卓图形系统,并且完全陷入了这个问题。我现在正在开发一个绘图应用程序,一旦我有了基础知识,我会把它扩展到更酷的地方 我试图在现有图像(包含所有以前的路径)上绘制一条路径,但由路径边界表示的矩形同时绘制为实体形状,覆盖背景图像的位 我使用以下命令使画布无效并绘制所需更新: invalidate ( (int) (dirtyRect.left - HALF_STROKE_WIDTH), (int) (dirtyRect.top - HALF_STROKE_WIDTH),

我刚刚开始使用安卓图形系统,并且完全陷入了这个问题。我现在正在开发一个绘图应用程序,一旦我有了基础知识,我会把它扩展到更酷的地方

我试图在现有图像(包含所有以前的路径)上绘制一条路径,但由路径边界表示的矩形同时绘制为实体形状,覆盖背景图像的位

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

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),但没有任何帮助


请帮忙

查看porterduff模式,它允许您混合