使PorterDuff Mask图像不可见

时间:2019-05-24 21:00:22

标签: java android canvas android-bitmap porter-duff

我在透明位图上有一个三角形,我想部分显示-我想画一条弧线并显示相交的部分。问题在于面罩柜大于三角形,并且在其后方显示。

Bitmap bitmap = Bitmap.createBitmap((int) bounds.width(),
                    (int) bounds.height(),
                    Bitmap.Config.ARGB_8888);
Canvas tempCanvas = new Canvas(bitmap);

Paint paint = new Paint();
tempCanvas.drawArc(0,0,boxWidth,
                    boxHeight,startAngle,sweepAngle,true, paint);

PorterDuff.Mode mode = PorterDuff.Mode.SRC_IN;
paint.setXfermode(new PorterDuffXfermode(mode));
tempCanvas.drawBitmap(triangelBitmap,0,0,paint);
canvas.drawBitmap(bitmap,bounds.left,bounds.top, null);

它工作正常,除了我看到方舟的黑色部分延伸到三角形位图之外。 我尝试了“ Color.TRANSPARENT”,但是看起来它对PortedDuff来说是不可见的(根本没有三角形的任何部分)。有什么方法可以使面具不可见而又不会影响混合效果?

0 个答案:

没有答案