码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2014-12-11 00:24:21      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:android   io   os   for   java   on   文件   数据   ef   

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

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

标签:android   io   os   for   java   on   文件   数据   ef   

原文地址:http://blog.csdn.net/tanmengwen/article/details/41855109

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!