【问题标题】:Android: Canvas drawPath method draws solid background instead of transparent oneAndroid:Canvas drawPath 方法绘制纯色背景而不是透明背景
【发布时间】:2012-12-19 19:08:00
【问题描述】:

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

请帮忙!

【问题讨论】:

    标签: android graphics 2d


    【解决方案1】:

    看看porterduff模式,它可以让你混合

    【讨论】:

      猜你喜欢
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      • 2015-04-01
      相关资源
      最近更新 更多