),所以我们不用对图片做什么特殊处理,直接输出显示即可~
但是如果显示器能够显示的颜色数量有限(譬如只能显示 216216216 种颜色),那么就需要对原图片进行处理了,一种简单的方法就是对图片像素进行截断或者舍入处理...,但是这样会让图片产生明显的色带(color banding)现象,譬如上面所示的图片,经过(像素)截断(舍入)之后,大概会显示成这个样子(图片来自这里):
?...可以看到显示效果很差,那有没有办法改善呢?...方法其实有不少,这里我们简单介绍一下经典的 Floyd–Steinberg 算法,算法的基本思想就是使用误差扩散(error diffusion),所谓误差扩散,简单来说,就是将像素截断或者舍入之后的颜色误差扩散...图中的 * 号代表的就是当前正在处理(抖动)的像素,该像素截断或者舍入之后的颜色误差会按 7/16,1/16,5/16,3/167/16, 1/16, 5/16, 3/167/16,1/16,5/16,3