1

ビットマップを取得し、シェーダー タイル モードとして使用します。

PNG は、描画する形状のアウトラインを除いて、ほとんどアルファです。

アウトラインを描画することを除いて、シースルー (アルファ) ではなく、黒で囲まれています。

    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);

左のブラシの下の例。しかし、結果は右に描画されます。

ここに画像の説明を入力

4

1 に答える 1

2

オブジェクトに設定する必要がありXferModeますPaint。具体的には、PorterDuffXferMode MULTIPLY を使用する必要があります。

同様の質問は次のとおりです。Android カラー オーバーレイ - PorterDuff モード

于 2012-11-20T13:00:37.733 に答える