对于canvas, drawable, bitmap的理解
2012-04-13 16:58
309 查看
这三个概念很容易把人绕晕,找了不少网上资料,都是抄来抄去,而且完全没说到点子上。看了下官方文档及源码,感觉可以这样理解这三个东东。
其实中心思想就一个,bitmap是最终存储数据的地方,其它类是辅助计算数据的。
也就是说,
1. bitmap用于存储最终的数据(用于显示,比如对应每个点的RGB值)
2. canvas是一个填写bitmap的工具。有点像bitmap是一张白纸,而canvas就是一张复印纸。
3. drawable是自身有bitmap,且提供了若干填写这个bitmap的功能的类。我们看drawable,它是一个abstract类,里面的draw函数也是abstract。这就意味着,你必需要自己继承自drawable,提供存储数据用的bitmap,并且实现draw函数(很多draw其实还是调用canvas实现的)。所以drawable有点类似于商店把白纸和复印纸做成套装出售。
其实中心思想就一个,bitmap是最终存储数据的地方,其它类是辅助计算数据的。
也就是说,
1. bitmap用于存储最终的数据(用于显示,比如对应每个点的RGB值)
2. canvas是一个填写bitmap的工具。有点像bitmap是一张白纸,而canvas就是一张复印纸。
3. drawable是自身有bitmap,且提供了若干填写这个bitmap的功能的类。我们看drawable,它是一个abstract类,里面的draw函数也是abstract。这就意味着,你必需要自己继承自drawable,提供存储数据用的bitmap,并且实现draw函数(很多draw其实还是调用canvas实现的)。所以drawable有点类似于商店把白纸和复印纸做成套装出售。
相关文章推荐
- 对于Bitmap,Drawable,Canvas,Path初入理解。
- Android显示系统之Pixel、Bitmap、Drawable、Canvas、Paint和Matrix之间的联系
- Drawable、Bitmap、Canvas和Paint的关系以及部分使用方法
- Drawable、Bitmap、Canvas和Paint的区别
- Bitmap Drawable canvas 相关
- Drawable、Bitmap、Canvas、Paint和 Matrix 的使用(三)
- 安卓开发应该知道的Drawable、Bitmap、Canvas和Paint的关系
- Drawable,Bitmap,Byte[],Canvas,Matrix任意转换
- Android中的bitmap,drawable,canvas以及paint
- Android显示系统之Pixel、Bitmap、Drawable、Canvas、Paint和Matrix之间的联系
- Drawable、Bitmap、Canvas和Paint的关系
- Android中的bitmap,drawable,canvas以及paint
- Android画图学习总结(一)——Android Drawable、Bitmap、Canvas和Paint的区别
- Drawable、Bitmap、Canvas、Paint和 Matrix 的关系和使用
- Drawable、Bitmap、Canvas和Paint的关系
- Drawable、Bitmap、Canvas、Paint和 Matrix 的使用(一)
- Android的Canvas、Bitmap、Drawable和Paint
- android canvas.drawBitmap的理解
- Canvas,Bitmap,Paint的理解
- 关于bitmap,canvas ,drawable