我的想法是将两个图像重叠在一起,并且在onTouch上,顶部图像应该在触摸的半径上变得透明,从而暴露底部图像。这是我叠加2张图片的方式: 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);我已经查看了这篇文章,并在下面使用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个图像在定义的半径上透明,我怎样才能使顶部位图透明?
2 回答
慕雪6442864
TA贡献1812条经验 获得超5个赞
嘿,你的帖子里面有答案!
基本上尝试类似的东西:
public void onDraw(Canvas canvas) {
if (myPaintFlag) {
canvas.drawBitmap(bmp1, new Matrix(), null);
canvas.drawBitmap(bmp2, new Matrix(), mPaint);
}
else {
canvas.drawBitmap(bmp1, new Matrix(), mPaint);
canvas.drawBitmap(bmp2, new Matrix(), null);
}
}
- 2 回答
- 0 关注
- 375 浏览
添加回答
举报
0/150
提交
取消