我的 Android 应用程序加载图像,进行一些处理并将处理后的图像保存在 SD 卡上。我将临时文件保存到 SD 卡而不是使用缓冲区。例如,读取背景、滚动图像、绘制注释、在保存的临时文件中合并背景和注释以用作下一个背景,等等。典型片段:
位图 = Bitmap.createBitmap(imageSizeX, imageSizeY, Bitmap.Config.ARGB_8888);
位图 = BitmapFactory.decodeFile(路径,选项);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, 输出);
一切正常,但在某些情况下,保存的图像添加了类似于本文所述的噪声: 位图调整大小和旋转:线性噪声
引用的帖子的作者通过二次抽样解决了这个问题,但我不希望这样做。
我已经尝试过这里建议的解决方案: http ://www.curious-creature.org/2010/12/08/bitmap-quality-banding-and-dithering/#more-1218 如果我理解正确应该通过设置来实现: getWindow().setFormat(PixelFormat.TRANSLUCENT); 强制32位。
变化不大。设置或不设置抖动标志似乎也没有太大变化。还有其他想法吗?