我得到了我的位图,将其用作着色器平铺模式。
除了要绘制的形状轮廓外,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);
左下方画笔的示例。但结果却是正确的。
答案 0 :(得分:2)
您应该在XferMode
对象上设置Paint
。更具体地说,你必须使用PorterDuffXferMode MULTIPLY。
以下是一个类似的问题:Android color overlay - PorterDuff modes