为了账号安全,请及时绑定邮箱和手机立即绑定

触摸时使某个位图区域透明

触摸时使某个位图区域透明

GCT1015 2019-08-31 15:49:19
我的想法是将两个图像重叠在一起,并且在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);

    }   

}


查看完整回答
反对 回复 2019-08-31
  • 2 回答
  • 0 关注
  • 375 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信