如何在android中将图像格式从JPEG更改为PNG?

时间:2011-12-12 12:05:09

标签: android camera png

我通过传递一个意图打开默认的Android设备相机。因此,在捕获图像时,默认情况下,相机会以JPEG格式存储图像。但我不想以有损格式存储它们。我希望图片质量很高。那么如何以PNG格式存储它?...

这里是我的代码打开相机:

Date dt = new Date();     
        int date=dt.getDate();  
        int hours = dt.getHours();     
        int minutes = dt.getMinutes();   
        int seconds = dt.getSeconds();     
        String curTime = date+"_"+hours + "_"+minutes + "_"+ seconds;  
         _path=Environment.getExternalStorageDirectory() +"/"+curTime+".jpg";  
        File file = new File( _path );  
        Uri outputFileUri = Uri.fromFile( file );  
        Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );  
    intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );  

 context.startActivityForResult(intent,0);  

然后处理onActivutyForResult(){....}

由于 斯纳

1 个答案:

答案 0 :(得分:22)

我没有遇到任何方法让相机将文件保存为PNG

但您可以将JPEG图片转换为PNG格式。

try {
       FileOutputStream out = new FileOutputStream(filename);
       bmp.compress(Bitmap.CompressFormat.PNG, 100, out); //100-best quality
       out.close();
} catch (Exception e) {
       e.printStackTrace();
}

注意,这不会提高质量。您无法“增加”图像中的信息。这只会改变图像格式。