android jpeg,Android -- 几种保存成jpeg文件的形式

本文介绍了Android中三种保存JPEG文件的方法:1.使用YuvImage以NV21格式高效保存;2.通过Bitmap类转换并压缩保存;3.直接保存byte[]数据到文件。详细代码示例供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//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.getPath());

FileOutputStream fileOutStream = null;

fileOutStream = new FileOutputStream(file);

bmp.compress(Bitmap.CompressFormat.JPEG, 100, fileOutStream); //把位图输出到指定的文件中

fileOutStream.flush();

fileOutStream.close();

//3.直接采用保存byte[]数据

FileOutputStream fos = new FileOutputStream(pictureFile.getPath()); // Get file output stream

fos.write(bytes); // Written to the file

fos.close();

原文:http://blog.youkuaiyun.com/tanmengwen/article/details/41855109

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值