画布中透明矩形的阴影

3zwjbxry  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(440)

我只想要一个空盒子的影子。但如果我给 Rect 透明的 Paint 颜色阴影也变得透明。这可能吗?

Paint paint = new Paint();
//paint.setColor(0x00000000);
paint.setShadowLayer(10, 0, 0, Color.BLACK);

Rect rect = new Rect(0, 0, 100, 100);
canvas.drawRect(rect, paint);
cgyqldqp

cgyqldqp1#

我最后创造了第二个 Canvas 等一下 Bitmap 然后在我剪下一些部分后把它们合并起来 PorterDuff.Mode.CLEAR . 这样我就可以像在图像编辑应用程序中那样创建层,并且不会丢失背景。
我就是这样切零件的:

Paint paint = new Paint();
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
Rect rect = new Rect(left, top, right, bottom);
canvas.drawRect(rect, paint);

我就是这样把这些层重新组合起来的:

bottomCanvas.drawBitmap(topBitmap, 0, 0, null);

相关问题