控制打印线质量的方法 【技术领域】
本发明涉及一种打印机中的绘制(rendering)算法。具体地说,本发明涉及一种根据将被喷墨或激光打印机打印的文档数据中的线粗细、线颜色的亮度以及背景亮度来校正存储在缓存器中用于绘制的实际线粗细的绘制算法。
背景技术
图1的框图示出了在诸如喷墨或激光打印机的典型数字打印机中的绘制处理。
用于处理存储在计算机(未示出)中的应用程序1的命令的打印机系统通常包括信息处理单元和打印单元8。信息处理单元包括绘制单元2、RGB(红、绿、蓝)缓存器3、颜色转换单元4、CMYK(Cyan(青色)、Magenta(红紫色)、Yellow(黄色)、Black(黑色))多值缓存器5、半色调(half-toning)单元6和CMYK两值缓存器7。
当用户通过操纵应用程序1和执行打印命令来执行绘制处理时,应用程序1根据将被打印的文档数据创建一系列的绘图命令,并将这些命令发送给打印机。
响应绘图命令,绘制单元2执行绘制处理,并且将处理的结果存储在RGB缓存器3中。这里,从应用程序1发送诸如绘图类型、表示打印位置的坐标、和绘图颜色等的绘图信息。
在线绘图的情况下,绘图信息包括线颜色、线粗细、线类型和起点的坐标。绘制单元2根据从应用程序1发送的绘图命令来执行绘制处理。
在完成绘制之后,利用颜色转换单元4对存储在RGB缓存器3中的RGB值进行颜色转换,并将经颜色转换地RGB值写入CMYK多值缓存器5。所述转换是利用由4种颜色、即CMYK组成的色粉或油墨混合表示在监视器上由RGB值表示的像素颜色的处理。这里,为了表示CMYK的饱和值,对于每种颜色通常使用八个比特,即256灰度。
半色调单元6将CMYK多值缓存器5中的值转换为两值数据,然后将该两值数据写入CMYK两值缓存器7。打印单元8根据CMYK两值缓存器7中的位值将色粉或油墨附着到打印纸,借此完成打印操作。
但是,在打印时被附着到打印纸的色粉或油墨通常具有点增益,所以,色粉或油墨在像素区域的外边缘四周扩散。
因此,当在白背景上绘制具有单一像素宽度的黑细线时,该线被打印成粗于该像素尺寸的理论值。然而线粗细的强调效果在更细的线中更加明显,在使用该效果时存在较少的实际问题。
但是,当在暗色背景上利用亮色彩来绘制非常细的线时,与上述在白背景上绘制黑细线的情况相反,由于点增益,绘制出的线看起来更细。当在RGB缓存器中在暗色背景上以高于600dpi的绘制分辨率绘制具有单一像素宽度的白线时,由于在页上打印的线太细以至于看不见,所以,难以或不可能注意到这条线。
在正片(positive)细线是明亮背景上的暗色彩细线和负片(negative)细线是暗色背景上的亮色彩细线的场合,在打印中点增益的效果是正片细线的宽度增加而负片细线的宽度减少。
由于线粗细值包含在绘制单元中接收的命令中,所以,这个问题的解决方法包括对绘制处理进行编程,从而使得只有非常细的线、即具有单一像素宽度的线能够被较粗地绘制。
但是,这使得负片细线和正片细线两者都变得更粗,从而在绘制正片细线时降低了打印纸上的再现性能。
因此,需要一种系统和方法,用于在所期望的正片和负片细线之间进行区分,并且调节线粗细以绘制改善的负片细线而不会影响正片细线。
【发明内容】
本发明提供一种包含在打印机中的绘制算法,用于改进暗色背景上的亮色彩细线(负片细线)的可见性。
根据本发明的一个目的,当在暗色背景上绘制亮色彩细线并且将绘制的结果存储在打印机内的RGB缓存器中时,配置绘制算法,以便仅当线颜色的亮度高于预定阈值和细线的粗细小于预定阈值时才增加细线的粗细。
可以根据下述等式(1)计算线颜色的亮度,等式(1)包括被分配给RGB缓存器的每个颜色的因数:
[(0.3×Red)+(0.6×Green)+(0.1×Blue)] (1)
根据本发明的另一个目的,当在暗色背景上绘制亮色彩细线并且将绘制的结果存储在打印机系统内的CMYK缓存器中时,仅当线颜色的亮度高于预定阈值和该细线的粗细小于预定阈值时,用于绘制线的绘制算法才增加细线的粗细。
可以根据下述等式(2)计算线颜色的亮度,等式(2)包括分配给CMYK缓存器的每种颜色的因数:
1.0-[(0.3×Cyan)+(0.2×Magenta)+(0.1×Yellow)+(0.4×Black)] (2)
在等式(1)和(2)每一个当中的因数(诸如0.1、0.2、0.3等)是作为例子给出的,其总和为1.0,并且当应用程序需要时可以被配置。
【附图说明】
通过下面结合附图对本发明示例性实施例的详细描述,本发明的上述和其它目的、特性以及优点将会变得更加明显。
图1的框图示出了典型数字打印机的绘制处理;和
图2的流程图示出了根据本发明实施例的绘制算法。
在整个附图中,应当理解,相同的附图标记指向相同的部件、组件和结构。
【具体实施方式】
下面将参考附图来更详细地描述根据本发明的示例性实施例。
除了绘制单元2中的线绘制的绘制处理使用将在图2中更详细描述的绘制算法以外,本发明的实施例与图1所示现有技术的结构基本相同。
图2的流程图示出了根据本发明实施例的绘制线的绘制算法。该算法被包含在打印机组件中并被执行以根据线粗细、线色度和背景亮度来校正存储在缓存器中的用于绘制的实际线粗细值。
在图2所示的方法中,首先在步骤200确定将被绘制的线的粗细是否小于第一阈值Tth。第一阈值Tth表示基于线粗细的预定阈值。
如果在步骤200确定线的粗细小于第一阈值Tth,则在步骤210确定根据将被绘制的线的颜色所计算的亮度是否高于预定第二阈值Bth。线颜色的亮度可根据等式(1)来计算,该等式(1)包括分配给RGB缓存器3的每个颜色的因数:
线颜色的亮度=[(0.3×Red)+(0.6×Green)+(0.1×Blue)] (1)
如果在步骤210线颜色的亮度高于第二阈值Bth,则在步骤230将预定粗细值d0分配给变量D。如果在步骤200线粗细大于第一阈值Tth,则在步骤220将值0分配给变量D。在步骤240,执行其线粗细等于原始线的粗细加上变量D值的总粗细的线绘制。前述的步骤或操作使得只有当利用亮色绘制细线(负片细线)时线的粗细才能够被增加。
但是,前述的确定条件没有考虑背景值,所以,没有对涉及负片细线的每个场合进行确定。但是,这个确定条件可以单独有效地解决在打印机实际使用中的问题。
另外,当绘制单元绘制打印数据并直接将绘制结果存储到CMYK多值缓存器5或两值缓存器7中而不是存储到RGB缓存器3中时,可以通过根据等式(2)而不是等式(1)应用与打印中的线颜色的亮度相关的参数来获得相同的效果,等式(2)包括被分配给CMYK缓冲器的每种颜色的因数。
线颜色的亮度=
1.0-[(0.3×Cyan)+(0.2×Magenta)+(0.1×Yellow)+(0.4×Black)] (2)
由于在处理速度、所用存储器的数量等方面具有很多优点,所以广泛地使用存储在这种CMYK缓存器中打印数据的绘制。
本领域普通技术人员将会理解,本发明并不局限于绘制存储在RGB缓存器中的打印数据,本发明还可以应用于打印存储在诸如CMYK缓存器的其它缓存器中的数据。
基于根据本发明实施例的包含在打印机中的绘制算法,可以防止在打印时负片细线消失或变得更细,而不会在打印时增加正片细线的粗细,并且借此改善了细线的可视性。
尽管参考本发明的示例性实施例特别示出和说明了本发明,但是,本技术领域的普通技术人员可以理解,在不脱离由本发明权利要求所定义的精神和范围的前提下可以在形式和细节方面作出各种变化。