对于canvas, drawable, bitmap的理解

这三个概念很容易把人绕晕,找了不少网上资料,都是抄来抄去,而且完全没说到点子上。看了下官方文档及源码,感觉可以这样理解这三个东东。

其实中心思想就一个,bitmap是最终存储数据的地方,其它类是辅助计算数据的。
也就是说,
1. bitmap用于存储最终的数据(用于显示,比如对应每个点的RGB值)
2. canvas是一个填写bitmap的工具。有点像bitmap是一张白纸,而canvas就是一张复印纸。
3. drawable是自身有bitmap,且提供了若干填写这个bitmap的功能的类。我们看drawable,它是一个abstract类,里面的draw函数也是abstract。这就意味着,你必需要自己继承自drawable,提供存储数据用的bitmap,并且实现draw函数(很多draw其实还是调用canvas实现的)。所以drawable有点类似于商店把白纸和复印纸做成套装出售。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值