Android中画图总结(1)
16lz
2021-01-24
1.如何获取 res 中的资源
2.如何获取资源中的画图对象,Drawable是个virtual class,具体如何画图,需要具体分析Drawable的子类,例如:BitmapDrawable
从资源中获取位图有2种方法:
方法一:
1.使用BitmapDrawable (InputStream is)构造一个BitmapDrawable;
2.使用BitmapDrawable类的getBitmap()获取得到位图;
方法二:
1.使用BitmapFactory类decodeStream(InputStream is)解码位图资源,获取位图
BitmapFactory的所有函数都是static,这个辅助类可以通过资源ID、路径、文件、数据流等方式来获取位图;
[color=red]以上方法在编程的时候可以自由选择,在Android SDK中说明可以支持的图片格式如下:png (preferred), jpg (acceptable), gif (discouraged),虽然bmp格式没有明确说明,但是在Android SDK Support Media Format中是明确说明了[/color]
那么在获取位图后,如何获取位图的相关信息了?
要获取位图信息,比如位图大小、是否包含透明度、颜色格式等,获取得到Bitmap就迎刃而解了,这些信息在Bitmap的函数中可以轻松获取到。Android SDK中对Bitmap有详细说明,阅读起来也比较容易,不在此详细说明,这里只是辅助说明以下2点:
--在Bitmap中对RGB颜色格式使用Bitmap.Config定义,仅包括ALPHA_8、ARGB_4444、ARGB_8888、RGB_565,缺少了一些其他的,比如说RGB_555,在开发中可能需要注意这个小问题;(我反正现阶段是不懂这些的区别)
--Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG格式的压缩;其他格式的需要Android开发人员自己补充了.
Resources r = this.getContext().getResources();
2.如何获取资源中的画图对象,Drawable是个virtual class,具体如何画图,需要具体分析Drawable的子类,例如:BitmapDrawable
Resources r = this.getContext().getResources();
Inputstream is = r.openRawResource(R.drawable.my_background_image);
BitmapDrawable bmpDraw = new BitmapDrawable(is);
Bitmap bmp = bmpDraw.getBitmap();
从资源中获取位图有2种方法:
方法一:
1.使用BitmapDrawable (InputStream is)构造一个BitmapDrawable;
2.使用BitmapDrawable类的getBitmap()获取得到位图;
方法二:
1.使用BitmapFactory类decodeStream(InputStream is)解码位图资源,获取位图
BitmapFactory的所有函数都是static,这个辅助类可以通过资源ID、路径、文件、数据流等方式来获取位图;
[color=red]以上方法在编程的时候可以自由选择,在Android SDK中说明可以支持的图片格式如下:png (preferred), jpg (acceptable), gif (discouraged),虽然bmp格式没有明确说明,但是在Android SDK Support Media Format中是明确说明了[/color]
那么在获取位图后,如何获取位图的相关信息了?
要获取位图信息,比如位图大小、是否包含透明度、颜色格式等,获取得到Bitmap就迎刃而解了,这些信息在Bitmap的函数中可以轻松获取到。Android SDK中对Bitmap有详细说明,阅读起来也比较容易,不在此详细说明,这里只是辅助说明以下2点:
--在Bitmap中对RGB颜色格式使用Bitmap.Config定义,仅包括ALPHA_8、ARGB_4444、ARGB_8888、RGB_565,缺少了一些其他的,比如说RGB_555,在开发中可能需要注意这个小问题;(我反正现阶段是不懂这些的区别)
--Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG格式的压缩;其他格式的需要Android开发人员自己补充了.
更多相关文章
- 收集的android开发文章教程等资源
- Android(安卓)MediaPlayer架构图解
- Android中图片的处理(放大缩小,去色,转换格式,增加水印等)
- Android——公共XML资源的使用
- Android(安卓)开发常用的工具网站
- Android递归拷贝assets资源到指定目录
- [转]Android读取assets目录下的资源
- Android(安卓)使用xliff 格式化字符串
- Android(安卓)获取年月日时分秒 格式化指定时间字符串