//1.采用NV21格式 YuvImage类进行保存 效率很高
String fileName = "IMG_"
+ String.valueOf(index) + ".jpg";
File sdRoot = Environment.getExternalStorageDirectory();
String dir = "/picture/";
File mkDir = new File(sdRoot, dir);
if (!mkDir.exists())
{
mkDir.mkdirs();
}
File pictureFile = new File(sdRoot, dir + fileName);
if (!pictureFile.exists()) {
try {
pictureFile.createNewFile();
FileOutputStream filecon = new FileOutputStream(pictureFile);
YuvImage image = new YuvImage(data,
ImageFormat.NV21, size.width, size.height,
null);
image.compressToJpeg(
new Rect(0, 0, image.getWidth(), image.getHeight()),
70, filecon); // 将NV21格式图片,以质量70压缩成Jpeg,并得到JPEG数据流
}catch (IOException e)
{
e.printStackTrace();
}
}
//2.采用Bitmap类
Bitmap bmp = BitmapFactory.decodeFile(pictureFile.g
Android -- 几种保存成jpeg文件的形式
最新推荐文章于 2024-08-21 21:06:33 发布
本文介绍了Android平台上保存JPEG图像的三种方式:1) 使用YuvImage类从NV21格式转换并压缩;2) 通过Bitmap类读取文件并压缩;3) 直接保存byte[]数据到文件。每种方法都涉及到JPEG质量设置和文件输出流的使用。
摘要由CSDN通过智能技术生成