一、        使用BitmapFactory解析图片

01 // --> 使用BitmapFactory解析图片
02 public void myUseBitmapFactory(Canvas canvas){
03 // 定义画笔
04    Paint paint = new Paint();
05 // 获取资源流
06    Resources rec = getResources();
07    InputStream in = rec.openRawResource(R.drawable.haha);
08 // 设置图片
09    Bitmap bitmap =BitmapFactory.decodeStream(in);
10 // 绘制图片
11    canvas.drawBitmap(bitmap, 0,20, paint);        
12 }

二、        使用BitmapDrawable解析图片

01 // --> 使用BitmapDrawable解析图片
02     public void myUseBitmapDrawable(Canvas canvas){
03     // 定义画笔
04        Paint paint = new Paint();
05     // 获得资源
06        Resources rec = getResources();
07     // BitmapDrawable
08        BitmapDrawable bitmapDrawable = (BitmapDrawable) rec.getDrawable(R.drawable.haha);
09     // 得到Bitmap
10        Bitmap bitmap = bitmapDrawable.getBitmap();
11     // 在画板上绘制图片
12        canvas.drawBitmap(bitmap, 20,120,paint);
13     }

三、        使用InputStream和BitmapDrawable绘制

01 // --> 使用InputStream和BitmapDrawable解析图片
02     public void myUseInputStreamandBitmapDrawable(Canvas canvas){
03     // 定义画笔
04        Paint paint = new Paint();
05     // 获得资源
06        Resources rec = getResources();
07     // InputStream得到资源流
08        InputStream in = rec.openRawResource(R.drawable.haha);
09     // BitmapDrawable 解析数据流
10        BitmapDrawable bitmapDrawable =  new BitmapDrawable(in);
11     // 得到图片
12        Bitmap bitmap = bitmapDrawable.getBitmap();
13     // 绘制图片
14        canvas.drawBitmap(bitmap, 100100,paint);
15     }

1. 图片放在sdcard中,

  Bitmap imageBitmap = BitmapFactory.decodeFile(path) (path 是图片的路径,跟目录是/sdcard)

  2. 图片在项目的res文件夹下面

  //得到application对象

  ApplicationInfo appInfo = getApplicationInfo();

  //得到该图片的id(name 是该图片的名字,"drawable" 是该图片存放的目录,appInfo.packageName是应用程序的               包)

  int resID = getResources().getIdentifier(name, "drawable", appInfo.packageName);

//代码如下

public Bitmap getRes(String name) {
ApplicationInfo appInfo = getApplicationInfo();
int resID = getResources().getIdentifier(name, "drawable", appInfo.packageName);
return BitmapFactory.decodeResource(getResources(), resID);
}

  3. 图片放在src目录下

  String path = "com/xiangmu/test.png"; //图片存放的路径

  InputStream is = getClassLoader().getResourceAsStream(path); //得到图片流

4.android中有个Assets目录,这里可以存放只读文件

资源获取的方式为

InputStream is = getResources().getAssets().open(name);

Android获取图片资源相关推荐

  1. Android获取图片资源的4种方式

    1. 图片放在sdcard中, Bitmap imageBitmap = BitmapFactory.decodeFile(path) (path 是图片的路径,跟目录是/sdcard) 2. 图片在 ...

  2. Android动态获取图片资源

    Android动态获取图片资源 根据文件名反向查找图片, 好像没有读取转换成数据流,性能应该不错. 回去后试试. 1. Field f= (Field)R.drawable.class.getDecl ...

  3. android 图片资源目录下,Android编程实现获取图片资源的四种方法

    本文实例讲述了Android编程实现获取图片资源的四种方法.分享给大家供大家参考,具体如下: 1. 图片放在sdcard中: Bitmap imageBitmap = BitmapFactory.de ...

  4. android 获取apk里的xml文件

    今天,简单讲讲如何获取  apk里的xml文件. 之前的博客,我讲了如何获取apk的图片资源和反编译获取代码资源,但是如何获取XML资源呢? 一.回顾图片资源的获取: 首先准备一个apk,嘿嘿就是 ...

  5. android 获取apk中的素材图片

    昨天,当我制作app的登录界面时,需要部分图片素材,可是我的公司没有UI工程师来为我制作图片资源,怎么办呢?看到别的app的图片很适合我的app所需图片,老板说直接可以直接从别的app获取图片资源,我 ...

  6. Android 通过图片资源名字获得图片资源设置在ImageView上

    Android 通过图片资源名字获得图片资源设置在ImageView上 操作 案例 操作 如何通过图片资源名得到图片资源? // 拿到图片名字 String iconName = "weat ...

  7. Android中图片资源格式的是,Android 项目图片资源文件的使用,适配以及优化

    Android 项目图片资源文件的使用,适配以及优化 Aandroid,适配,bitmap,bitmapfactory,优化, 2016-05-13 16:52:50 Android 项目中常见的图片 ...

  8. Android获取手机本地图片并显示

    一.序言 在安卓开发过程中,有时候我们的应用需要使用手机本地图片,这就需要本地图片访问权限以及相关的获取方法,本文将手机本地图片的获取流程和代码做了一个总结,希望能够对大家有一定帮助: 二.功能分析 ...

  9. android 扫描所有图片格式,Android获取本机各种类型文件列表(音乐、视频、图片、文档等)...

    介绍 本篇介绍Android获取本机各种类型文件的方法,已经封装成工具类,末尾有源码下载地址. 提示 获取音乐.视频.图片.文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文 ...

最新文章

  1. hello python jpush api_jpush python服务器端
  2. jvm性能调优实战 -51修复栈内存区域内存溢出问题 StackOverFlow
  3. Kira同学:斩获百度校招提前批offer备战细节全揭秘
  4. LeetCode Algorithm 572. 另一棵树的子树
  5. 使用VMware VSphere WebService SDK进行开发 (四)——获取集群(Cluster, ComputeResource)的相关信息
  6. OpenGL绘图过程简述
  7. python3中sort和sorted的区别详解
  8. 张朝阳:Q4盈利远超预期 2021年期待产品爆发
  9. java hashset 实现原理_深入Java集合学习系列:HashSet的实现原理
  10. 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换
  11. rs232接口_RS232接口与RS485的区别
  12. [简单分页]C#+JQUERY+ORACLE分页效果 ----转载
  13. Context Encoding for Semantic Segmentation-CVPR2018【论文理解】
  14. springBoot+springSecurity 数据库动态管理用户、角色、权限
  15. Surface的创建过程分析
  16. 解决小米wifi在windows10无法创建问题
  17. 苹果mac装双系统对电脑有影响吗?Mac电脑装双系统的利与弊
  18. 使用Python开发小说下载器,不再为下载小说而发愁
  19. QGIS插件开发-执法业务计算
  20. 用PS为背景图片添加文字抠图

热门文章

  1. 看完面经我服气了-阿里员工吐槽:本科应届生年薪40W?
  2. 众说区块链:区块链在食品安全溯源领域中的应用
  3. Selenium爬取36万条数据告诉你:网易云音乐热评究竟有什么规律?
  4. MTK设备模型——LCM
  5. (附源码)SSM学生公寓智慧管理系统JAVA计算机毕业设计项目
  6. 杰里之TWS实际连接流程【篇】
  7. pygame - 图片移动
  8. 推荐几个牛叉技术大神的高质量免费技术专栏,码洞垫底
  9. 【历史上的今天】3 月 27 日:《华尔街日报》技术专栏作家出生;AMD 推出 K5 处理器;匈牙利数理逻辑的奠基人诞生
  10. 爬虫怎么解决封IP?