Bitmap,File,Drawable相互转化以及都如何转化为Uri,以及图片叠加图片拼接
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,以及图片叠加图片拼接相关推荐
- Bitmap,byte[],Drawable相互转化
1.Drawable就是一个可画的对象.其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable).还有可能是一个图层(LayerDrawable),我们依据绘图 ...
- byte[],Bitmap,YuvImage,Drawable 旋转、缩放、相互转化
1.byte[](YuvImage )->Bitmap 在相机开发中,Camera获取到摄像头每一帧的图像数据byte[],有时候需要把它转为Bitmap @Overridepublic voi ...
- Android 将图片网址url转化为bitmap,drawable转bitmap,file转bitmap,bitmap转file
file转bitmap File param = new File(); Bitmap bitmap= BitmapFactory.decodeFile(param.getPath()); drawa ...
- android bitmap对比,Android Bitmap和Drawable的对比
Android Bitmap和Drawable的对比 Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565.RGB888.作为一种逐像素的显示对象执行效率高,但 ...
- android Bitmap和Drawable的区别
Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565.RGB888.作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低.我们理解为一种存储对象比较好 ...
- android图片转换为二进制流,Android图片二进制与Bitmap、Drawable之间的转换
Android图片二进制与Bitmap.Drawable之间的转换 Java代码 public byte[] getBitmapByte(Bitmap bitmap){ ByteArrayOutput ...
- 谈谈安卓的Bitmap与Drawable
前言 搞安卓有些时间了,对图片老是存在一些疑惑:给View设置背景的原理是啥?啥是Drawable呢?Bitmap又是啥呢 ?Bitmap与Drawable有啥区别呢?整天看着这些熟悉有陌生的名词,当 ...
- Android中Bitmap和Drawable
一.相关概念 1.Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable) ...
- (转)Android Bitmap 与 Drawable之间的转换
转换Bitmap to Drawable Bitmap bitmap = new Bitmap (...); Drawable drawable = new BitmapDrawable(bitmap ...
最新文章
- shell中break的使用案例
- charles-无法抓取https包的解决办法及效果
- 13.函数式编程:匿名函数、高阶函数、装饰器
- socket服务端处理多个客户端的请求学习理解
- jvm虚拟机规范官方文档入口
- 交换机串行损耗解决之预加重与均衡对比
- 私有云部署和本地化部署有什么区别?
- 汽车操作系统的前世今生
- SSD、Retinanet、RefineDet、CornerNet、ExtremeNet、CenterNet、FSAF、FCOS、FoveaBox相对于yolo的区别
- 一大批裁员降薪企业名单在路上,你中了吗?
- 清除COM口数值,释放被占用的COM口
- 线程wait和notify方法
- CPC操作的万能流程方法
- 前端码农2021上半年的辛酸血泪史与自赎之路|2021 年中总结
- ola2672978400 oj最短路径
- ASCII阿斯克码对照表
- 面试|C# .net 面试题
- 什么软件可以测试iphone6s芯片,苹果是对的:测试显示iPhone 6s两款芯片续航差距微小...
- 电动车铅酸电池的正确充电方法(过度充电,会导致板栅金属层变薄,容易断栅格;过度放电会导致极板硫化,活性海绵组织失效,缩短极板寿命)
- python高级语言特长_中国大学慕课mooc_高级语言程序设计(Python)CAP_章节测试答案...