我只是想知道我可以处理的不同因素,并通过保持其质量来减小任何图像的大小。
像Bitmap.compress一样,对我来说是唯一的选择。
这也是最好的编码格式(Jpeg,Png),它以最小的尺寸保持质量。
答案 0 :(得分:0)
取决于位图内容。如果您的位图上有文字或其他纯色或对比区域,那么PNG是您的选择,因为它可以保持图像质量。
如果它是来自相机的照片,那么JPG是最好的。
答案 1 :(得分:0)
// try this way,hope this will help you...
private Bitmap decodeFileFromPath(String path){
Uri uri = getImageUri(path);
InputStream in = null;
try {
in = getContentResolver().openInputStream(uri);
//Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeStream(in, null, o);
in.close();
int scale = 1;
int inSampleSize = 1024;
if (o.outHeight > inSampleSize || o.outWidth > inSampleSize) {
scale = (int) Math.pow(2, (int) Math.round(Math.log(inSampleSize / (double) Math.max(o.outHeight, o.outWidth)) / Math.log(0.5)));
}
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = scale;
in = getContentResolver().openInputStream(uri);
Bitmap b = BitmapFactory.decodeStream(in, null, o2);
in.close();
return b;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
答案 2 :(得分:0)
任何lossless文件格式都不会弄乱您的字节: