您当前的位置: 首页 >  android

命运之手

暂无认证

  • 1浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android】【绘制】如何将Canvas的某块区域清除为透明

命运之手 发布时间:2021-10-27 11:59:03 ,浏览量:1

今天同事问了我这个问题,我差点把自己也给绕进去了

答案是不画即可,根本没有将已绘制区域像素清除为透明的方法

最多只能通过XferMode等方式,将其叠加为黑色

那为什么同事会问这种问题呢,原因是他对Canvas的绘制方式理解错了

他以为Canvas每次都是在上一帧的基础上进行绘制的,所以才有了擦除这样奇怪的想法

其实Canvas的每一帧,都是从全透明开始绘制的,根本不需要刻意去擦除内容

Canvas的每一帧都是一张静态图像,如果想要某个区域为透明,绘制时跳过这个区域即可

由于是同事先入为主的,我一时没反应过来,也被拉进这个圈套里面去了,想了很久才突然清醒过来

所以特意记录下,防止其它人会遇到相同的问题

Canvas根本不需要清除,在onDraw里面调用invalidate方法直接绘制下一帧,下一帧不绘制这块区域即可

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.0379s