0

次のことがうまくいきません。どなたかヒントをいただけませんか?

2 つの領域 (塗りつぶされたパス) が重なり合っています。下の方は青で塗りつぶされています。上のものは、部分的に特定のパターン(たとえば、線)で赤く塗りつぶしたいと思います。最後に、青と赤のストライプで塗りつぶされた領域があります。

私の試みでは、上のものは下のものと重なっているので、青は見えません。

bitmapshader でこれを実行しようとしましたが、成功しません。

BitmapShader mShader1 = new BitmapShader(makeBitmap1(),
                                         Shader.TileMode.REPEAT,
                                         Shader.TileMode.REPEAT);
paint.setShader(mShader1);
canvas.drawPath(cpath.path, paint);

private static Bitmap makeBitmap1() {
    //Bitmap bm = Bitmap.createBitmap(10, 10, Bitmap.Config.RGB_565);
    //Bitmap bm = Bitmap.createBitmap(10, 10, Bitmap.Config.ALPHA_8);
    Bitmap bm = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_4444);
    //Bitmap bm = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(bm);
    c.drawColor(Color.RED);
    Paint p = new Paint();
    p.setColor(0xFF000000);
    //p.setColor(Color.BLUE);
    c.drawRect(2, 2, 8, 8, p);
    return bm;
}
4

0 に答える 0