消除锯齿和刷子笔划

对于显示器来说,要真实地显示曲线和斜线是特别困难的。这是因为, 显示器以及数字图像的像素框架并不具有显示矩形图像单元以外的其他东西的机制。为了使这些几何形状的边缘在外观上显得光滑,应用程序需要使用消除锯齿把不同不透明度的像素放在曲线或斜线的“问题区”内。

图 1.16 所示是一对斜线;左边的一条具有一些不同不透明度的像素,这些像素“填充”在该线条中不太平行于组成该图像的像素点阵的地方。右边所示是一条锯齿过的斜线,它具有刺眼而难看的“台阶”。

读者可能会提出这样一个问题:“应用程序是如何知道应在何处放置消除锯齿像素的?”答案是,对图像区域的色调进行平均,对位于直线或曲线边缘的像素的邻近阴影进行内插。下面马上就要讨论各种内插方法了。图

1.17 所示是一组经过和未经过消除锯齿的圆的图像。虽然仔细看起来反锯齿形体的轮廓线显得有些模糊,但在 1∶1 的观察分辨率下,曲线既清晰又柔和。

若把边缘已经消除锯齿过的斜线放大得很大,就可以观察到下面的现象:直线边缘上的像素,离直线越远,像素中含直线的颜色越少,而含背景色越多。图 1.18 中的引出线指出了垂直线段边缘上消除锯齿像素的颜色百分比。

图 1.18 消除锯齿是由前景色和背景色混合组成的

对用户创作的形体进行消除锯齿的基本思想是,在形体的内部与其背景之间构造出一个光滑的过渡区。

除了造型和绘图程序中使用的消除锯齿之外,还存在第三类消除锯齿, 发生在用户改变位图图像的尺寸时。应用程序并不会聪明到自己“知道”用什么颜色将附加像素添加到图像中去,在将像素从图像中删去时也不具有知道如何重新分配像素的艺术才华。下节将介绍在改变图像尺寸时,内插和颜色平均方法是如何有助于保持图像外观光滑的。