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

画布不是只有一个得吗?

老师,我想问下,视频中自己new 了一个Canvas mCanvas,然后设置了一个mBitmap,然后在mCanvas上进行了划线的操作,那 onDraw(Canvas canvas)方法里面的canvas画布 是怎么显示mCanvas画布上的划线的?onDraw(Canvas canvas)方法里设置了  canvas.drawBitmap(mBitmap, 0, 0, null);但是mBitmap上没有划线吧?mCanvas上才有吧? 原理是怎么样的?

正在回答

2 回答

当前自定义View会有一个默认的系统canvas对象,这个canvas对象是真正执行显示绘图的。

但是同时,你可以在View的内部定义多个自定义的canvas对象,自定义的canvas对象依赖于自己创建的bitmap对象,这个自定义的canvas对象是将绘图绘制到自己创建的bitmap上。

最后,通过系统的canvas对象,将自己创建的bitmap绘制到屏幕上即可显示。

0 回复 有任何疑惑可以回复我~

mCanvas是用mBitmap构建的。

用mCanvas,绘制图形。

其实就是在这个mBitmap上绘制的。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android电商活动中的刮刮卡
  • 参与学习       17009    人
  • 解答问题       25    个

本课程将自定义控件实现刮刮卡效果,同时介绍实现原理

进入课程

画布不是只有一个得吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信