【发布时间】:2017-09-28 17:39:59
【问题描述】:
我有一个图像文件 (jpg),我需要旋转它。但是,我想避免在将其保存回磁盘时重新压缩它。他们有什么办法吗?
我这样保存图片:
matrix.setRotate(-90);
Bitmap bitmap = BitmapFactory.decodeFile(imagePath, options);
Bitmap bmRotated = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
bitmap.recycle();
FileOutputStream fileoutputstream = new FileOutputStream(imagePath);
bmRotated.compress(CompressFormat.JPEG, 100, fileoutputstream);
fileoutputstream.flush();
fileoutputstream.close();
bmRotated.recycle();
【问题讨论】:
-
你有什么尝试
-
你如何保存这个放一些代码,以便我们更好地帮助你
-
是的,我想旋转图像并避免重新压缩它...
-
您确定不能只在图像的 EXIF 数据中设置旋转吗?这似乎会在根本不更改数据的情况下旋转它,但它是否适合您取决于您旋转图像的原因以及随后将显示它的内容。
-
(请注意,这个问题并不像某些人认为的那样奇怪: 可以通过算法旋转 JPEG 而不会有损re压缩:stackoverflow.com/a/543729/300836,我猜这就是我们正在谈论的内容。)
标签: android jpeg android-bitmap image-compression