美文网首页
Android -- 几种保存成jpeg文件的形式

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

作者: 60916fc63567 | 来源:发表于2016-12-19 17:32 被阅读174次

    //1.采用NV21格式 YuvImage类进行保存  效率很高

    String fileName ="IMG_"

    + String.valueOf(index) +".jpg";

    File sdRoot = Environment.getExternalStorageDirectory();

    String dir ="/picture/";

    File mkDir =newFile(sdRoot, dir);

    if(!mkDir.exists())

    {

    mkDir.mkdirs();

    }

    File pictureFile =newFile(sdRoot, dir + fileName);

    if(!pictureFile.exists()) {

    try{

    pictureFile.createNewFile();

    FileOutputStream filecon =newFileOutputStream(pictureFile);

    YuvImage image =newYuvImage(data,

    ImageFormat.NV21, size.width, size.height,

    null);

    image.compressToJpeg(

    newRect(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 =newFileOutputStream(file);

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

    fileOutStream.flush();

    fileOutStream.close();

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

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

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

    fos.close();

    原地址:http://www.2cto.com/kf/201412/360088.html

    相关文章

      网友评论

          本文标题:Android -- 几种保存成jpeg文件的形式

          本文链接:https://www.haomeiwen.com/subject/nlvtvttx.html