从ImageView中检索“干净”图像

时间:2011-09-29 10:02:52

标签: android bitmap imageview

我将图像存储在ImageView中,经过几个过程(翻转,旋转,修复颜色等)后,它将保存为新文件。但是,我只是意识到当我刚刚加载到ImageView中并且很快之后直接保存结果时,我得到了不同的结果。请查看附图以供参考。

图片来源 enter image description here

图片结果 enter image description here

以下是我从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());

是否有任何解决方法可以使生成的图像与源相同?不同的组成部分,也许?

1 个答案:

答案 0 :(得分:1)

持有你进行操作的支持Bitmap(原来的来源)。

仅使用ImageView 显示Bitmap - 不要操纵ImageView图纸缓存中保留的缩放后版本。