【发布时间】:2011-07-19 03:12:35
【问题描述】:
我的想法是将 2 个图像重叠在一起,在 onTouch 时,顶部图像应该在该触摸半径上透明,从而暴露底部图像。
这就是我叠加两张图片的方式:
Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
Canvas canvas = new Canvas(bmOverlay);
canvas.drawBitmap(bmp1, new Matrix(), null);
canvas.drawBitmap(bmp2, new Matrix(), null);
我查看了this post 并有一个如下所示的 Paint 以使其透明:
mPaint = new Paint();
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
mPaint.setColor(Color.TRANSPARENT);
mPaint.setAntiAlias(true);
public void onDraw(Canvas canvas) {
canvas.drawCircle(40, 40, 30, mPaint); //hardcode to test
}
问题是,我认为圆立即使定义半径上的 2 个图像透明,我怎样才能只使顶部位图透明?
【问题讨论】:
-
我猜我的油漆有问题。
-
该解决方案在 Android 4.x 上完美运行,但在 2.x 上,圆圈是黑色的,而不是显示背后的图像。有什么想法吗?
标签: android bitmap transparent paint