У меня есть треугольник на прозрачном растровом изображении, которое я хочу частично показать - я хочу нарисовать дугу и показать пересекающуюся часть.Проблема в том, что маска ковчега больше, чем треугольник, и она показывается позади него.
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 таким образом (нет частей треугольника вообще).Есть ли способ сделать маску невидимой, не влияя на смешивание?