具有Alpha通道的位图着色器。 (阿尔法正在画黑......?)

时间:2012-11-20 12:43:12

标签: android colors bitmap drawing alpha

我得到了我的位图,将其用作着色器平铺模式。

除了要绘制的形状轮廓外,PNG主要是alpha。

除了绘制轮廓外,但是被黑色包围,而不是包围(alpha)。

    pnt.reset();

    if(backgroundColor == 1)
    {   
            pnt.setColor(myColor);
            pnt.setStyle(Paint.Style.FILL);

    }

     m_canvas.drawPath(path, pnt);

//fillBMP = getBitmapFromAsset(m_context, "brush.png"); 
    fillBMP = BitmapFactory.decodeFile(mySDPath + "brush.png");
fillBMPshader = new BitmapShader(fillBMP, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);  

pnt.setShader(fillBMPshader);  

m_canvas.drawPath(path, pnt);

左下方画笔的示例。但结果却是正确的。

enter image description here

1 个答案:

答案 0 :(得分:2)

您应该在XferMode对象上设置Paint。更具体地说,你必须使用PorterDuffXferMode MULTIPLY。

以下是一个类似的问题:Android color overlay - PorterDuff modes