android图片保存
❶ android保存图片
你的可能是放在某个系统文件夹或者隐藏文件夹里了,你可以用文件管理器把这个图片拷出来,放到一个你知道的一般文件夹里,例如:picture文件夹,然后应该就行了。
❷ 在android开发中,拍照后的图片进行剪切后,怎么保存呢
流,给你一个保存的方法
你应该是拍照以后再onActivityResult中回去图片 再进行操作 得到最终的bitmap 在用下面的方法保存指定图片的路径、名称保存。
// 保存拍摄的照片到手机的sd卡
private void SavePicInLocal(Bitmap bitmap) {
FileOutputStream fos = null;
BufferedOutputStream bos = null;
ByteArrayOutputStream baos = null; // 字节数组输出流
try {
baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] byteArray = baos.toByteArray();// 字节数组输出流转换成字节数组
picName = (list.size() + 1) < 10 ? memberInfoID + "-0"
+ (list.size() + 1) + ".jpg" : memberInfoID + "-"
+ (list.size() + 1) + ".jpg";
File file = new File(PHOTO_DIR, picName);
// 将字节数组写入到刚创建的图片文件中
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(byteArray);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (baos != null) {
try {
baos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (bos != null) {
try {
bos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
这个保存的是缩略以后的 有50k左右,
❸ android 手机照相机拍照的照片,默认的保存路径是什么。
装了SD卡的:
/sdcard/DCIM/camera
未装SD卡的:
/stystm/DCIM/camera
一般安卓手机的相机功能都会有固定的存放路径,这个位置默认为:/sdcard/DCIM/100Andro或者/sdcard/DCIM/Camera,这里的sdcard是指手机中的SD卡,在电脑中显示的为可移动磁盘。
根据不同品牌安卓手机的后期开发,文件夹名称可能不太一样,但一般是在DCIM目录文件夹里边,当然也会有特别,例如在酷派手机中手机拍照的图片是存放在根目录中的Photo中。
首先,打开手机上的相机,点击设置按钮,里面会有一个选择存储位置,一般默认是存储在手机内存,可以进行修改,存到SD卡中。通过数据线连接到电脑后,一般是一个叫DCIM的文件。
(3)android图片保存扩展阅读:
手机摄像头的技术:
“像素”指的是相机传感器上的最小感光单位,通常所说的“XXX万像素”实际是指相机的分辨率,其数值大小主要由相机传感器中的像素点(即最小感光单位)数量决定。
相机的像素能决定的是其所拍图片的分辨率,而图片的分辨率越高,只代表了图片的尺寸越大,并不能说明图片越清晰。
传感器
相机传感器主要分两种,CCD和CMOS。同时代的CMOS比CCD的开口率要低很多(也就是相同面积下,感光芯片真正接收光的面积CCD会比较大)。富士等创新型cmos的出现,CCD因为成本高,成像上越来越没优势就被淘汰了。
CMOS传感器又分为背照式和堆栈式两种,二者系出同门,技术最早都由索尼研发,索尼背照式传感器品牌名为“ExmorR”,堆栈式传感器为“ExmorRS”。
相对来说,传感器尺寸越大,感光性能越好,捕捉的光子(图形信号)越多,信噪比越高,成像效果自然也越出色,然而更大的传感器却会导致手机的体积、重量、成本增加。
❹ Android调用手机相机拍照,保存图片会出现2张解决办法。
最近项目中使用系统相机拍照,保存图片,发现一些问题。
读取图片旋转角度,然后再旋转回去。
使用BitmapFactory.Options,能更准确的获取图片格式,
判断地址末尾 .gif 有时候会不准确(不推荐)
上传服务器,一般使用地址,但是用户手动删除图片后,地址是无效的。为了防止地址无效,可以对需要上传图片地址做保存,但又希望系统读取不到,可以对保存地址进行修改。
读取图片地址api
我们可以去系统相册查看两张图片,会发现两张图片的地址是不一样的,而且两张图片的大小也不同。
出现2张的原因是:
(1)调用系统相机,拍照完成我们会生成一个保存地址,而这个地址是: /storage/android/data/包名/Picture/ ,这张是我们保存的拍照图片。
(2)相同的一张图片在哪?这个地址是:/storage/Pictures/ ,这张图片是系统复制的App目录下Pictures中的图片。
所以就会出现在系统相册两张图片,但两张图片大小不一致,地址不同。
调用系统api,只能读取到一张,是系统复制的那张,也就是 /storage/Pictures/ 目录下的这张,但是/storage/android/data/包名/Picture/ 目录下的没有读取到。
知道了问题,就有解决办法,可分为三种方法:
(1)第一种方法:
保存图片的时候,修改下地址(可参照标题 3 ,这样让系统无法识别出这张图片),结果就是,我读取不到,系统也别想读取不到,在系统相册里也就看不到这张图片。
(2)第二种方法:
因为api无法读取到,那我们就直接再读取/storage/android/data/包名/Picture/ 下的文件,把图片一块加入到同一个集合中用于展示,这样所有的图片都有了,但是系统相册中还是有两张图片,为解决这个问题。
(3)第三种方法:( )
在我们保存图片的时候,直接保存到 /storage/Pictures/ 这个目录下,也不用系统帮我们复制了,这样就只会出现一张,而且我们也能调用api直接读取到,两个问题全都解决了,完美!
(如果以上有错误或者有更优美的方式,感谢指出并改之,与君共勉)
这是我项目中出现的问题,希望能够帮助到你,Thanks,Bye!
❺ Android图片压缩-大小与质量压缩以及图片保存
一、前言:
2.质量压缩
注意:
第二次压缩之前都要先清空 baos.reset(); 再进行压缩 image.compress(Bitmap.CompressFormat.JPEG, quality, baos);
有时候我们采用质量压缩没有效果,有可能是每次压缩的质量过小,所以我们可以尝试修改压缩质量(quality)是10;
quality压缩机提示,0-100。0表示压缩
小尺寸,100意味着最大质量的压缩。一些
格式,如无损的PNG,将忽略质量设定;
3.混合方式压缩
链接: https://www.jianshu.com/p/12835d5ebc72