我正在绘制一些Bitmaps到画布。这些位图中的一些(大多数)使用alpha通道,透明度/半透明度对于图像看起来正确至关重要。这是必要的,因为我在整个Activity
中执行了一些图像处理。
最终用户完成了他们的任务,我使用画布并使用此方法将其保存到PNG:
Bitmap.createBitmap(this.getWidth(), this.getHeight(), Bitmap.Config.ARGB_8888);
此时我不再对画布/图像进行任何修改,但我确实将图像显示在另一个Canvas
中的Activity
。我希望它与上一个Activity
中的 完全 相同,所以如果我使用Bitmap.Config.RGB_565
代替或者我会丢失信息,这是否重要?
答案 0 :(得分:7)
如果您使用Bitmap.Config.RGB_565,肯定会丢失信息。它可能在手机显示屏上无法辨别,但当您从RGB_8888转到RGB_565时,您将从24位颜色信息(不计算alpha)变为16位颜色信息。 RGB_8888中没有256个不同的红色,绿色和蓝色值,RGB_565中只有64个不同的绿色值和32个不同的红色和蓝色值。这可能会导致RGB_565图像中出现条带或其他类型的量化伪像。