我的图像旋转有问题。
我试试:
Matrix matrix = new Matrix();
matrix.postRotate(90);
BitmapFactory.Options options=new BitmapFactory.Options();
options.inSampleSize = 4;
Bitmap pic = BitmapFactory.decodeFile(filePath, options);
Bitmap rotatedPhoto = Bitmap.createBitmap(pic, 0, 0, pic.getWidth(), pic.getHeight(), matrix, true);
photo.setImageBitmap(rotatedPhoto);
try {
stream = new FileOutputStream(filePath);
rotatedPhoto.compress(CompressFormat.JPEG, 100 ,stream);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
图片旋转,但质量很差。 我该如何解决这个问题?如何在不降低质量的情况下旋转图像? 谢谢!
更新 如何在不失去分辨率的情况下旋转图像?
答案 0 :(得分:1)
我认为您的问题是因为您将inSampleSize设置为4.这意味着返回的图像将比原始图像小4倍。
http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inSampleSize
尝试将options.inSampleSize设置为1 - 这有帮助吗?
在处理图像时要小心 - 你在Android应用程序中玩的内存很少。一次只将几张大图像加载到内存中通常会导致应用程序崩溃。