1.图片id → BitmapDrawable → File → Uri

 BitmapDrawable d = (BitmapDrawable) res.getDrawable(R.mipmap.图片名字,mContext.getTheme());String imgName = 图片名字+".png";String path = mContext.getFilesDir() + File.separator + imgName;try{OutputStream os = new FileOutputStream(path);d.getBitmap().compress(Bitmap.CompressFormat.PNG, 100, os);os.close();}catch(Exception e){Log.e("TAG", "", e);}
File file = new File(path);
Uri  userPickedUri = Uri.fromFile(file);

2.图片叠加

注:res为getResourses

        //放大缩小BitmapMatrix matrix = new Matrix();//file转化为BitmapDrawable转化为BitmapBitmapDrawable d =new BitmapDrawable(mContext.getResources(),file.getPath());Bitmap b1 = d.getBitmap();int btWidth = b1.getWidth();//x或者y缩放的比例(width为我想要缩放的大小,btWidth为需要缩放图片的大小)float sx = (float)width/btWidth;matrix.postScale(sx,sx); //长和宽放大缩小的比例//缩放Bitmapb1 = Bitmap.createBitmap(b1, 0, 0,btWidth, btWidth, matrix, false);//需要叠加的其他图片 :图片id转化为BitmapBitmap b2 = BitmapFactory.decodeResource(res, R.mipmap.bg_app_insatll_1);Bitmap b3 = BitmapFactory.decodeResource(res, R.mipmap.bg_app_install_3);Bitmap b4 = null;//叠加后i的图片容器Bitmap newBitmap = Bitmap.createBitmap(width, width, Bitmap.Config.ARGB_8888);Canvas cv = new Canvas(newBitmap);//叠加图片时设置某一或某些图片的透明度Paint paint = new Paint();paint.setAlpha(178); //第二个第三个参数为x,y,用来设置此图片在叠加图中的坐标位置cv.drawBitmap(b1, 0, 0, null);cv.drawBitmap(b2, 0, 0, paint);cv.drawBitmap(b3, 0, 0, paint);cv.save();// 存储新合成的图片canvas.restore();image.setImageBitmap(newBitmap);

Bitmap,File,Drawable相互转化以及都如何转化为Uri,以及图片叠加图片拼接相关推荐

  1. Bitmap,byte[],Drawable相互转化

    1.Drawable就是一个可画的对象.其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable).还有可能是一个图层(LayerDrawable),我们依据绘图 ...

  2. byte[],Bitmap,YuvImage,Drawable 旋转、缩放、相互转化

    1.byte[](YuvImage )->Bitmap 在相机开发中,Camera获取到摄像头每一帧的图像数据byte[],有时候需要把它转为Bitmap @Overridepublic voi ...

  3. Android 将图片网址url转化为bitmap,drawable转bitmap,file转bitmap,bitmap转file

    file转bitmap File param = new File(); Bitmap bitmap= BitmapFactory.decodeFile(param.getPath()); drawa ...

  4. android bitmap对比,Android Bitmap和Drawable的对比

    Android Bitmap和Drawable的对比 Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565.RGB888.作为一种逐像素的显示对象执行效率高,但 ...

  5. android Bitmap和Drawable的区别

    Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565.RGB888.作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低.我们理解为一种存储对象比较好 ...

  6. android图片转换为二进制流,Android图片二进制与Bitmap、Drawable之间的转换

    Android图片二进制与Bitmap.Drawable之间的转换 Java代码 public byte[] getBitmapByte(Bitmap bitmap){ ByteArrayOutput ...

  7. 谈谈安卓的Bitmap与Drawable

    前言 搞安卓有些时间了,对图片老是存在一些疑惑:给View设置背景的原理是啥?啥是Drawable呢?Bitmap又是啥呢 ?Bitmap与Drawable有啥区别呢?整天看着这些熟悉有陌生的名词,当 ...

  8. Android中Bitmap和Drawable

    一.相关概念 1.Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable) ...

  9. (转)Android Bitmap 与 Drawable之间的转换

    转换Bitmap to Drawable Bitmap bitmap = new Bitmap (...); Drawable drawable = new BitmapDrawable(bitmap ...

最新文章

  1. shell中break的使用案例
  2. charles-无法抓取https包的解决办法及效果
  3. 13.函数式编程:匿名函数、高阶函数、装饰器
  4. socket服务端处理多个客户端的请求学习理解
  5. jvm虚拟机规范官方文档入口
  6. 交换机串行损耗解决之预加重与均衡对比
  7. 私有云部署和本地化部署有什么区别?
  8. 汽车操作系统的前世今生
  9. SSD、Retinanet、RefineDet、CornerNet、ExtremeNet、CenterNet、FSAF、FCOS、FoveaBox相对于yolo的区别
  10. 一大批裁员降薪企业名单在路上,你中了吗?
  11. 清除COM口数值,释放被占用的COM口
  12. 线程wait和notify方法
  13. CPC操作的万能流程方法
  14. 前端码农2021上半年的辛酸血泪史与自赎之路|2021 年中总结
  15. ola2672978400 oj最短路径
  16. ASCII阿斯克码对照表
  17. 面试|C# .net 面试题
  18. 什么软件可以测试iphone6s芯片,苹果是对的:测试显示iPhone 6s两款芯片续航差距微小...
  19. 电动车铅酸电池的正确充电方法(过度充电,会导致板栅金属层变薄,容易断栅格;过度放电会导致极板硫化,活性海绵组织失效,缩短极板寿命)
  20. python高级语言特长_中国大学慕课mooc_高级语言程序设计(Python)CAP_章节测试答案...

热门文章

  1. 存储设备写惩罚的机制和
  2. 211213-LaTex生成Reference但无法显示Journal
  3. MurmurHash 哈希算法
  4. localhost 已拒绝连接(命令窗口安装版)还有安装教程
  5. 跨专业计算机考研难度排行榜,全国33所名校计算机专业考研跨考难度系数排名...
  6. 基于泛在电力物联网的公用配变健康状态智能诊断与综合评价研究
  7. python画散点图和折线图
  8. python画散点图 字体格式
  9. GCC和HelloWorld
  10. 万字长文!手把手教你用 AI 整点好玩的...