1.如何获取 res 中的资源
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开发人员自己补充了.

更多相关文章

  1. 收集的android开发文章教程等资源
  2. Android(安卓)MediaPlayer架构图解
  3. Android中图片的处理(放大缩小,去色,转换格式,增加水印等)
  4. Android——公共XML资源的使用
  5. Android(安卓)开发常用的工具网站
  6. Android递归拷贝assets资源到指定目录
  7. [转]Android读取assets目录下的资源
  8. Android(安卓)使用xliff 格式化字符串
  9. Android(安卓)获取年月日时分秒 格式化指定时间字符串

随机推荐

  1. 什么是CPU 上下文切换
  2. 如何去使用Python分析股票数据?学到就是赚
  3. 欧洲最大电商 Zalando 的微服务之道
  4. Wireshark分析艺术【读书总结】
  5. OpenTelemetry 简析
  6. 16 个好用的 Code Review 工具
  7. Kubernetes 稳定性保障手册 -- 可观测性
  8. 《我与Windows Server 2008R2那点事儿》
  9. Istio Proxy【Envoy扩展】详解
  10. MySql引擎原理以及优化