4

有人可以解释在 Android 中配置位图的上下文中设置inDither = true时真正发生的情况吗?

在 Developer.Android 可以阅读有关静态变量的信息

Config.RGB_565

此配置可能会产生轻微的视觉伪影,具体取决于源的配置。例如,如果没有抖动,结果可能会显示为绿色。为了获得更好的结果,应该应用抖动

在我遵循此建议之前,我遇到了这个问题,即:

options.inPreferredConfig = Config.RGB_565;
options.inDither = true;

所以我的问题是:如何理解 Android 中的 inDither。知道何时使用语法是一回事……完全理解它是另一回事。

提前致谢!

4

1 回答 1

9

当您支持的颜色数量不足时,从一种颜色移动到另一种颜色(渐变)将导致出现条带(中间的步长更少)。

抖动通过在颜色步骤中放置随机噪声来减少这种情况。通过抖动,我们可以使用可用颜色的噪声来产生不可用颜色的错觉:

在此处输入图像描述

RGB_565精度(2 字节)比ARGB_8888(4 字节)低。由于颜色范围低,RGB_565位图可以显示条带和低颜色范围。因此,抖动标志用于改善感知图像,并给出更多颜色的错觉。

于 2013-07-14T12:01:49.253 回答