我将图像存储在ImageView中,经过几个过程(翻转,旋转,修复颜色等)后,它将保存为新文件。但是,我只是意识到当我刚刚加载到ImageView中并且很快之后直接保存结果时,我得到了不同的结果。请查看附图以供参考。
图片来源
图片结果
以下是我从ImageView中提取图像的方法:
String filePath = Environment.getExternalStorageDirectory()
+ File.separator + bufferPath;
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
selectedImage.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(selectedImage.getDrawingCache());
selectedImage.setDrawingCacheEnabled(false);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
imageFile = new File( filePath );
//write the bytes in file
FileOutputStream fo = new FileOutputStream(imageFile);
fo.write(bytes.toByteArray());
是否有任何解决方法可以使生成的图像与源相同?不同的组成部分,也许?
答案 0 :(得分:1)
持有你进行操作的支持Bitmap
(原来的来源)。
仅使用ImageView
显示此Bitmap
- 不要操纵ImageView
图纸缓存中保留的缩放后版本。