安卓中图片资源的获取和转换
//1,已将图片保存到drawable目录下 //通过图片id获得Drawable Resource res=gerResource(); Drawable drawable=res.getDrawable(id);//id为R.drawable.图片名称 //通过图片id获得Bitmap Resource res=gerResource(); Bitmap bitmap=BitmapFactory.decodeResource(res, id); //若只知道图片的名称,可以通过图片的名称获得图片的id //name:图片的名称 defType:图片的类型(png,jpeg),defPackage:工程的包名 int id =int id =res.getIdentifier(name, defType, defPackage); //获得id之后可以根据你的需要来获得Bitmap或Drawable //2,已将图片保存到assest目录下 //知道图片的名称,通过inputstream打开图片 AssetManager asm=getAssetMg(); InputStream is=asm.open(name);//name:图片的名称 //获得Drawable Drawable da = Drawable.createFromStream(is, null); //获得Bitmap Bitmap bitmap=BitmapFactory.decodeStream(is); //3,图片保存在sdcard,已知图片的路径 //图片路径 String path = Environment.getExternalStorageDirectory().toString()+ "/DCIM/device.png"; RandomAccessFile mMiniThumbFile; File imgfile = new File(path); try { mMiniThumbFile = new RandomAccessFile(imgfile, "rw"); } catch (IOException ex) { // Open as read-only so we can at least read the existing // thumbnails. try { mMiniThumbFile = new RandomAccessFile(imgfile, "r"); } catch (IOException ex2) { // ignore exception System.out.println(ex2.toString()); } } data= new byte[10553]; try { mMiniThumbFile.seek(0); int got = mMiniThumbFile.read(data, 0, 10552); System.out.println("got="+got); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println(e.toString()); } if (data != null) { //通过data获得bitmap Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0,data.length); //最简单的方法 String filepath = "/sdcard/paiyipai.jpg"; Bitmap bm = BitmapFactory.decodeFile(filepath); //BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。 BitmapDrawable bd=new BitmapDrawable(bm); ImageView.setBackgroundDrawable(bd);
Rust编程语言群 1036955113
java新手自学群 626070845
java/springboot/hadoop/JVM 群 4915800
Hadoop/mongodb(搭建/开发/运维)Q群481975850
GOLang Q1群:6848027
GOLang Q2群:450509103
GOLang Q3群:436173132
GOLang Q4群:141984758
GOLang Q5群:215535604
C/C++/QT群 1414577
单片机嵌入式/电子电路入门群群 306312845
MUD/LIB/交流群 391486684
Electron/koa/Nodejs/express 214737701
大前端群vue/js/ts 165150391
操作系统研发群:15375777
汇编/辅助/破解新手群:755783453
大数据 elasticsearch 群 481975850
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
java新手自学群 626070845
java/springboot/hadoop/JVM 群 4915800
Hadoop/mongodb(搭建/开发/运维)Q群481975850
GOLang Q1群:6848027
GOLang Q2群:450509103
GOLang Q3群:436173132
GOLang Q4群:141984758
GOLang Q5群:215535604
C/C++/QT群 1414577
单片机嵌入式/电子电路入门群群 306312845
MUD/LIB/交流群 391486684
Electron/koa/Nodejs/express 214737701
大前端群vue/js/ts 165150391
操作系统研发群:15375777
汇编/辅助/破解新手群:755783453
大数据 elasticsearch 群 481975850
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!