CN101551913B - 图像生成装置、图像生成方法及打印装置 - Google Patents
图像生成装置、图像生成方法及打印装置 Download PDFInfo
- Publication number
- CN101551913B CN101551913B CN2009101330328A CN200910133032A CN101551913B CN 101551913 B CN101551913 B CN 101551913B CN 2009101330328 A CN2009101330328 A CN 2009101330328A CN 200910133032 A CN200910133032 A CN 200910133032A CN 101551913 B CN101551913 B CN 101551913B
- Authority
- CN
- China
- Prior art keywords
- gradual change
- elliptical shape
- unit
- conversion
- transformation matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Record Information Processing For Printing (AREA)
- Color, Gradation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种图像生成装置、图像生成方法及打印装置。图像生成单元包括:获取单元,其从接收到的目标数据获取用于绘制椭圆放射渐变的图像绘制指令;提取单元,其从获取的图像绘制指令提取椭圆形状参数和渐变图案参数;变换矩阵生成单元,其基于椭圆形状参数生成将由椭圆形状参数指定的椭圆形状变换到正圆形状的变换矩阵;逆矩阵计算单元,其计算变换矩阵的逆矩阵;变换单元,其使用变换矩阵变换渐变图案参数;绘制单元,其基于变换的渐变图案参数绘制用于正圆形状的渐变;以及渐变生成单元,其通过使用逆矩阵对包括通过绘制单元绘制的渐变的正圆形状进行逆变换来生成椭圆放射渐变。
Description
技术领域
本发明涉及一种图像生成装置、图像生成方法及打印装置。
背景技术
随着近年来使用计算机的文档准备系统和文档打印系统的高性能的发展,越来越多的用户要求实现复杂的绘图表现。例如,使用了大量的渐变(在规定的绘制区域中逐渐地改变颜色),用于表现效果、表现三维形状等等。
为了使用打印机打印此种渐变(即,具有渐变的图像)或者在显示器上显示此种渐变,必需生成位图格式的渐变图案并且将渐变图案绘制在页存储器或者帧存储器上。通过连续地绘制(重叠)在色值上略微不同的多个区域,同时逐渐地位移每个区域的绘制位置来执行渐变的绘制。由于不得不为绘制确定和指定(要用同一(均一的)色值绘制的)这样的区域中的每一个,所以这样的渐变的绘制要求复杂的计算。
在这样的情况下,已经提出了各种装置,以便于绘制渐变,同时减少与渐变的绘制有关的负荷。例如,在日本专利临时公开HEI11-31231(在下文中称其为“专利文献#1”)中描述的图像形成装置(能够绘制同心圆渐变)通过如下地执行渐变绘制来减少用于渐变绘制的负荷:首先为每根扫描线确定颜色变化点(在所述颜色变化点中的每个点处色值发生变化),然后用均一的色值绘制(在扫描线上的)两个颜色变化点之间的每根线段。
同时,近来已经将XML文件规格(在下文中简单地称其为“XPS”)制定为用于描述电子文档的PDL(页面描述语言),并且大量支持XPS的产品被投入市场。在XPS中,放射渐变画笔元素能够在文档中被描述为用于绘制椭圆放射渐变的图像绘制指令,由此使得更复杂的渐变表现成为可能。
发明内容
但是,虽然在专利文献#1中详细说明了绘制同心圆渐变的方法,但是文档(在下文中,也将会称其为目标数据)没有包括关于用于绘制椭圆放射渐变的技术的描述。如果在绘制椭圆放射渐变的处理中基于椭圆形状的轨迹计算颜色变化点(在颜色变化点周围,用不同的色值来绘制),则由于表示椭圆形状的轨迹的等式已经很复杂了所以需要进行极其复杂的计算,由此与椭圆放射渐变的绘制有关的(绘制渐变的)装置上的负荷变得极重。
考虑到上述问题的做出的本发明在下述方面是有优势的,即,能够提供图像生成装置、图像生成方法及打印装置,其能够生成椭圆放射渐变,同时减少与渐变的绘制相关的负荷。
根据本发明的一方面,提供了一种图像生成装置,该图像生成装置被设置有:目标数据接收单元,该目标数据接收单元接收包括用于绘制椭圆放射渐变的图像绘制指令的目标数据;获取单元,该获取单元从接收到的目标数据获取图像绘制指令;提取单元,该提取单元从获取的图像绘制指令提取指定椭圆放射渐变的椭圆形状的椭圆形状参数和指定要在椭圆形状中绘制的渐变图案的渐变图案参数;变换矩阵生成单元,该变换矩阵生成单元基于椭圆形状参数生成用于将椭圆形状变换为正圆形状的变换矩阵;逆矩阵计算单元,该逆矩阵计算单元计算变换矩阵的逆矩阵;变换单元,该变换单元通过使用变换矩阵变换渐变图案参数;绘制单元,该绘制单元基于通过变换单元变换的变换后的渐变图案参数绘制用于通过由变换矩阵进行的椭圆形状的变换获得的正圆形状的渐变;以及渐变生成单元,该渐变生成单元通过使用逆矩阵来逆变换其中已经通过绘制单元绘制了渐变的正圆形状以生成椭圆放射渐变。
使用如上构造的图像生成装置,当输入包括用于绘制椭圆放射渐变的图像绘制指令的目标数据时,通过目标数据接收单元接收目标数据并且通过获取单元从目标数据获取图像绘制指令。基于通过提取单元从图像绘制指令提取的(指定椭圆形状的)椭圆形状参数,通过变换矩阵生成单元生成用于将椭圆放射渐变的椭圆形状变换到正圆形状的变换矩阵。通过使用由变换矩阵生成单元生成的变换矩阵通过变换单元变换由提取单元从图像绘制指令提取的(指定要在椭圆形状中绘制的渐变图案的)渐变图案参数。基于变换后的渐变图案参数,通过绘制单元绘制用于通过由变换矩阵进行的椭圆形状的变换而获得的正圆形状的渐变。
由于如上所述首先在正圆形状中绘制渐变而没有直接在椭圆形状中绘制指定的渐变,因此能够基于正圆的轨迹计算颜色变化点(在颜色变化点周围绘制不同的颜色)。由于与直接绘制用于椭圆形状的渐变的情况相比,能够简化用于渐变的绘制的计算,所以能够显著地减少与渐变的绘制有关的负荷。
同时,通过逆矩阵计算单元计算由变换矩阵生成单元生成的变换矩阵的逆矩阵。最后,通过使用由逆矩阵计算单元计算的逆矩阵来逆变换正圆形状(其中,绘制单元已经绘制了渐变),由渐变生成单元生成椭圆放射渐变。通过此种构造,能够容易地生成根据椭圆形状的椭圆放射渐变和由被包括在图像绘制指令中的参数指定的渐变图案。因此,能够生成椭圆放射渐变,同时减少与渐变的绘制有关的负荷。
优选地,渐变图案参数包括与在椭圆形状中绘制的渐变的中心有关的位置信息,图像生成装置进一步包括:设置单元,该设置单元将通过由变换单元进行的变换获得的渐变的变换后的中心设置在与正圆形状的中心相交的坐标轴上,其中通过与由变换单元进行变换之后的渐变的中心相关的位置信息确定该渐变的变换后的中心,并且绘制单元通过沿着坐标轴计算要用均一的颜色绘制的每个正圆的中心位置来绘制正圆形状中的渐变。
使用如上所构造的图像生成装置,能够实现以下效果。在与在椭圆形状中绘制的渐变的中心有关的位置信息被包括在指定渐变图案的渐变图案参数中的情况下,通过设置单元将通过变换单元的变换之后的(由通过变换单元的变换之后的(关于渐变的中心的)位置信息确定的)渐变的中心位置设置在与正圆形状的中心相交的坐标轴上。通过沿着(在其上设置单元已经设置了变换之后的渐变的中心位置的)坐标轴计算(要用均一的色值(当使用多种颜色时规定颜色的均一的色值)绘制的)每个正圆的中心位置由绘制单元绘制用于正圆形状的渐变。用该构造,能够通过使用由坐标轴(的坐标值)表示的一维函数计算正圆(在每个正圆中,用均一的色值来绘制)的中心位置。因此,能够进一步减少在正圆形状中渐变的绘制所需要的计算量,从而,能够进一步减少与放射渐变的绘制有关的负荷。
优选地,目标数据接收单元被构造为接收根据XML文件规格描述的目标数据,并且图像生成装置进一步包括指令判断单元,该指令判断单元判断如果获取的图像绘制指令包括放射渐变画笔元素,则获取的图像绘制指令包括用于绘制椭圆放射渐变的指令,并且提取单元从放射渐变画笔元素提取椭圆形状的中心坐标、长轴半径和短轴半径作为椭圆形状参数,同时提取渐变的中心坐标作为渐变图案参数。
使用如上所构造的图像生成装置,能够实现下面的效果。在由目标数据接收单元接收根据XPS(XML文件规格)描述的文档(目标数据)并且由获取单元从目标数据获取的图像绘制指令是放射渐变画笔元素的情况下,由指令判断单元判断图像绘制指令是用于绘制椭圆放射渐变的指令。通过提取单元从放射渐变画笔元素提取椭圆形状的中心坐标、长轴半径和短轴半径提取作为(指定椭圆形状的)椭圆形状参数,同时提取渐变的中心坐标作为(指定在椭圆形状中要绘制的渐变图案的)渐变图案参数。通过此种构造,当由目标数据接收单元接收的XPS文档中存在放射渐变画笔元素时,能够生成由放射渐变画笔元素指定的椭圆放射渐变,同时减少与渐变的绘制有关的负荷。
根据本发明的另一方面,提供了一种打印装置,该打印装置包括生成图像的图像生成单元和将由图像生成单元生成的图像打印在打印介质上的打印单元,其中,该图像生成单元包括:目标数据接收单元,该目标数据接收单元接收包括用于绘制椭圆放射渐变的图像绘制指令的目标数据;获取单元,该获取单元从接收到的目标数据获取图像绘制指令;提取单元,该提取单元从获取的图像绘制指令提取指定椭圆放射渐变的椭圆形状的椭圆形状参数和指定在椭圆形状中要绘制的渐变图案的渐变图案参数;变换矩阵生成单元,该变换矩阵生成单元基于椭圆形状参数生成用于将椭圆形状变换到正圆形状的变换矩阵;逆矩阵计算单元,该逆矩阵计算单元计算变换矩阵的逆矩阵;变换单元,该变换单元通过使用变换矩阵变换渐变图案参数;绘制单元,该绘制单元基于通过变换单元变换的变换后的渐变图案参数绘制通过由变换矩阵进行的椭圆形状的变换而获得的正圆形状中的渐变;以及渐变生成单元,该渐变生成单元通过使用逆矩阵对其中已经通过绘制单元绘制了渐变的正圆形状进行逆变换来生成椭圆放射渐变。
优选地,渐变图案参数包括关于在椭圆形状中绘制的渐变的中心的位置信息,图像生成单元进一步包括设置单元,该设置单元将通过由变换单元进行的变换而获得的渐变的变换后的中心设置在与正圆形状的中心位置相交的坐标轴上,其中通过由变换单元进行的变换而获得的变换后的位置信息确定所述渐变的变换后的中心,并且绘制单元通过沿着坐标轴计算要用均一的颜色绘制的每个正圆的中心位置来绘制正圆形状中的渐变。
优选地,目标数据接收单元被构造为接收根据XML文件规格描述的目标数据,并且图像生成单元进一步包括指令判断单元,该指令判断单元判断如果获取的图像绘制指令包括放射渐变画笔元素,则获取的图像绘制指令包括用于绘制椭圆放射渐变的指令,并且提取单元从放射渐变画笔元素提取椭圆形状的中心坐标、长轴半径和短轴半径作为椭圆形状参数,而提取渐变的中心坐标作为渐变图案参数。
使用如上所构造的打印装置,能够在打印介质(例如,纸)上打印椭圆放射渐变,同时获得与上面所描述的图像生成装置相类似的效果。
根据本发明的另一方面,提供了一种图像生成方法,该图像生成方法包括:目标数据接收步骤,该目标数据接收步骤接收包括用于绘制椭圆放射渐变的图像绘制指令的目标数据;获取步骤,该获取步骤从接收到的目标数据获取图像绘制指令;提取步骤,该提取步骤从获取的图像绘制指令提取指定椭圆放射渐变的椭圆形状的椭圆形状参数和指定要在椭圆形状中绘制的渐变图案的渐变图案参数;变换矩阵生成步骤,该变换矩阵生成步骤基于椭圆形状参数生成用于将椭圆形状变换到正圆形状的变换矩阵;逆矩阵计算步骤,该逆矩阵计算步骤计算变换矩阵的逆矩阵;变换步骤,该变换步骤通过使用变换矩阵变换渐变图案参数;绘制步骤,该绘制步骤基于变换的渐变图案参数绘制通过由变换矩阵进行的椭圆形状的变换而获得的正圆形状中的渐变;以及渐变生成步骤,该渐变生成步骤通过使用逆矩阵来对其中已经通过绘制步骤绘制了渐变的正圆形状进行逆变换而生成椭圆放射渐变。
优选地,渐变图案参数包括与在椭圆形状中绘制的渐变的中心有关的位置信息,图像生成方法进一步包括设置步骤,该设置步骤将通过由变换步骤进行的变换获得的渐变的变换后的中心设置在与正圆形状的中心位置相交的坐标轴上,其中通过由变换步骤进行的变换获得的变换后的位置信息来确定所述渐变的变换后的中心位置,并且绘制步骤通过沿着坐标轴计算要用均一的颜色绘制的每个正圆的中心位置而绘制正圆形状中的渐变。
优选地,目标数据接收步骤被构造为接收根据XML文档规格描述的目标数据,并且图像生成方法进一步包括指令判断步骤,该指令判断步骤判断如果通过获取步骤获取的图像绘制指令包括放射渐变画笔元素,则获取的图像绘制指令包括用于绘制椭圆放射渐变的指令,并且提取步骤从放射渐变画笔元素提取椭圆形状的中心坐标、长轴半径和短轴半径作为椭圆形状参数,而提取渐变的中心坐标作为渐变图案参数。
使用如上所构造的图像生成方法,能够达到与上面所描述的图像生成装置相类似的效果。
结合附图从下面详细描述的考虑,本发明的其它目的、优点和特征将更明显。
附图说明
图1是示出根据本发明实施例的(包括打印机控制单元的)打印机的电气构造的框图。
图2A是示出放射渐变画笔元素的示例和由该元素指定的参数示意图。
图2B是示出根据由放射渐变画笔元素指定的参数绘制的椭圆放射渐变的示例的示意图。
图3A-3E是用于解释实施例中采用的用于绘制椭圆放射渐变的原理的示意图。
图4是用于解释生成用于正圆形状中的放射渐变的红色放射渐变的方法的示意图。
图5是由打印机控制单元执行的打印处理的流程图。
图6是由打印机控制单元执行的椭圆放射渐变光栅化处理的流程图。
具体实施方式
现在参考附图,将会详细地描述根据本发明的优选实施例。图1是示出根据本发明的实施例的(包括打印机控制单元10的)打印机1的电气构造的框图。
打印机1(装备有喷墨头19的喷墨打印机)是一种用于通过从喷墨头19的喷嘴朝向片材(例如,纸)排出墨滴来执行打印的外围设备。打印机控制单元10是用于控制打印机1的全部操作,同时生成打印机1要打印的图像数据的单元。
经由通信电缆或者无线通信将打印机1连接至PC(个人计算机)100。当接收到从PC100传输的打印命令时,分析和打印命令一起从PC100传输的根据XPS描述的电子文档(在下文中称为“XPS文档”),并且由打印机控制单元10生成根据XPS文档的图像数据,然后通过喷墨头19将根据生成的图像数据的图像打印在片材上。
在这样的情况下,如果放射渐变画笔元素(指示椭圆放射渐变的绘制的图像绘制指令)被包括在XPS文档中,则由打印机1的打印机控制单元10生成由放射渐变画笔元素指定的椭圆放射渐变。打印机控制单元10被构造为能够生成椭圆放射渐变,同时减少与椭圆放射渐变的绘制有关的负荷。顺便说明,“椭圆放射渐变”意指椭圆形状中的渐变(即,具有渐变的图像),其中,从渐变的中心到椭圆形状的外围,色值放射状地变化(有多个椭圆区域,在每个椭圆区域中,用均一的色值来绘制)。
接下来,将会在下面详细地描述本实施例的打印机1的详细构造。如图1中所示,打印机装备有操作面板14、LCD(液晶显示器)15、馈送电机(LF电机)16、馈送电机驱动电路17、片材传感器18、喷墨头19、头驱动器20和接口21、以及打印机控制单元10。
在这些组件之中,经由I/O端口23将操作面板14、LCD15、馈送电机驱动电路17、片材传感器18、头驱动器20以及接口21连接至打印机控制单元10。将馈送电机16连接至馈送电机驱动电路17。将喷墨头19连接至头驱动器20。
打印机控制单元10包括通过总线22连接在一起的CPU(中央处理器)11、ROM(只读存储器)和RAM(随机读取存储器)。总线22连接至I/O端口23,经由总线22在打印机控制单元10和被连接至I/O端口23的每个组件之间通信信号。
CPU11是下述处理器,该处理器用于根据存储在ROM12和RAM13中的程序和定值(数据)、经由接口21从PC100接收到的各种信号等等控制打印机1并且生成要由打印机1打印的图像数据。
ROM12是存储要由CPU11执行的控制程序12a、要由控制程序12a参考的定值等等的不可重写的非易失性存储器。在控制程序12a中包括了执行打印处理(在图5的流程图中示出)和椭圆放射渐变光栅化处理(在图6的流程图中示出)所需要的程序。
当经由接口21从PC100接收到打印命令时,由CPU11运行用于打印处理(图5的流程图)的程序,由此分析和打印命令(例如,XPS文档)一起从PC100接收到的数据并且生成根据数据的图像(图像数据)。
同时,在从PC100接收到XPS文档并且接收到的XPS文档包括放射渐变画笔元素作为用于绘画椭圆放射渐变的指令的情况下,由CPU11运行用于椭圆放射渐变光栅化处理(图6的流程图)的程序作为用于打印处理(图5)的程序的子程序。
通过运行用于椭圆放射渐变光栅化处理(图6)的程序,CPU11生成用于由放射渐变画笔元素指定的椭圆形状到正圆形状(其中心位于原点)的仿射变换的变换矩阵,然后绘制用于正圆形状的(在正圆形状中绘制)渐变。CPU11计算生成的变换矩阵的逆矩阵,并且通过使用逆矩阵对正圆形状(其中,已经绘制了渐变)进行逆仿射变换来生成由放射渐变画笔元素指定的椭圆放射渐变。稍后将会参考图3A-3E详细地解释本实施例中采用的椭圆放射渐变的绘制的原理。
RAM13是用于暂时地存储各种数据的可重写的易失性存储器。在RAM中保留诸如XPS数据存储器13a、渐变参数存储器13b、变换矩阵存储器13c以及页存储器13d的存储区域。
XPS数据存储器13a是用于暂时地存储和打印命令一起从PC100接收到的XPS文档的存储器(存储区域)。在从PC100接收到XPS文档之后,借助于DMA(直接存储器存取),接口21将接收到的XPS文档传输至RAM13的XPS数据存储器13a,由此从PC100接收到的XPS文档被存储在XPS数据存储器13a中。
当执行打印处理(请参见图5,稍后解释)时,由CPU11读出被存储在XPS数据存储器13a中的XPS文档并且分析XPS文档的内容。CPU11通过根据XPS文档的内容执行图像绘制处理来生成要由打印机1打印的图像数据,并且将生成的图像数据存储在页存储器13d中。
渐变参数存储器13b是用于存储被包括在XPS文档中的放射渐变画笔元素(作为指示椭圆放射渐变的绘制的图像绘制指令)的(指定椭圆形状的)椭圆形状参数和(指定要在椭圆形状中绘制的渐变图案的)渐变图案参数。
当放射渐变画笔元素被包括在存储在XPS数据存储器13a中的XPS文档中时,CPU11执行椭圆放射渐变光栅化处理(图6)作为打印处理(图5)的一个步骤,由此从放射渐变画笔元素中提取(指定椭圆形状的)椭圆形状参数和(指定要在椭圆形状中绘制的渐变图案的)渐变图案参数并且将提取的参数存储在渐变参数存储器13b中。稍后将会参考图2A和图2B详细地解释被包括在XPS文档中的放射渐变画笔元素和被包括在该元素中的参数。
在存储在渐变参数存储器13b中的参数当中,(指定椭圆形状的)椭圆形状参数用于生成用于椭圆形状到正圆形状(其中心位于原点)的仿射变换的变换矩阵。
在存储在渐变参数存储器13b中的参数当中,通过使用上述变换矩阵对包括在(指定要在椭圆形状中绘制的渐变图案的)渐变图案参数中的渐变中心坐标(请参见图2A和图2B)进行仿射变换。
基于存储在渐变参数存储器13b中的渐变图案参数(包括进行仿射变换之后的渐变中心坐标),为通过仿射变换获得的正圆形状(在正圆形状中)绘制渐变。
变换矩阵存储器13c是用于存储用于从(由XPS文档中的放射渐变画笔元素指定的)椭圆形状到正圆形状的仿射变换的变换矩阵。通过执行椭圆放射渐变光栅化处理(请参见图6,稍后解释),CPU11基于存储在渐变参数存储器13b中的椭圆形状参数生成用于从椭圆形状到正圆形状(其中心位于原点)的仿射变换的变换矩阵,然后将生成的变换矩阵存储在变换矩阵存储器13c中。
存储在变换矩阵存储器13c中的变换矩阵用于在存储在渐变参数存储器13b中的渐变图案参数中包括的渐变中心坐标(请参见图2A和图2B)的仿射变换。
在这样的情况下,如果仿射变换之后的渐变中心坐标不在Y轴的非负部分,则CPU11通过将旋转元素添加至原始的变换矩阵来生成新的变换矩阵使得仿射变换之后的渐变中心坐标将会被放置在Y轴的非负部分。通过覆写原始的变换矩阵将最新生成的变换矩阵存储在变换矩阵存储器13c中。稍后将会参考图3A-3E解释旋转元素(其被添加至原始的变换矩阵)。
通过使用最终存储在变换矩阵存储器13c中的变换矩阵(即,已经添加了旋转元素的变换矩阵)再次对存储在渐变参数存储器13b中的渐变中心坐标(参见图2A和图2B)进行仿射变换。基于存储在渐变参数存储器13b中的渐变图案参数(包括再次经历仿射渐变之后的渐变中心坐标),为通过椭圆形状的仿射变换获得的正圆形状(在通过椭圆形状的仿射变换获得的正圆形状中)绘制渐变。
对于最终存储在变换矩阵存储器13c中的变换矩阵(即,已经添加了转动元素的变换矩阵),由CPU11计算逆矩阵。然后,通过使用计算的逆矩阵对正圆形状(其中,已经绘制了渐变)进行逆仿射变换,由CPU11生成由放射渐变画笔元素指定的椭圆放射渐变。
页存储器13d是用于以位图格式存储要由打印机1打印的(由打印机控制单元10生成的)图像数据。在页存储器13d上光栅化通过椭圆放射渐变光栅化处理(图6)生成的椭圆放射渐变和根据数据(例如,XPS文档)生成的其它图像数据。
当通过根据和打印命令一起从PC100接收到的数据的打印处理(图5),要由打印机1打印的图像数据已经在页存储器13d上被光栅化时,CPU11驱动馈送电机驱动电路17和头驱动器20,并从而将与存储在(光栅化在)页存储器13d中的图像数据相对应的图像打印在片材上(例如,纸)。
操作面板14是包括用于让用户进行打印机设置、输入指令等等的输入按钮的用户接口。LCD15是用于取决于操作面板14上的用户操作而显示各种信息(菜单、打印机1的操作状态等等)的显示装置。
馈送电机(LF电机)16是用于在馈送方向的下游或者上游传送(被放置在打印机中/上的规定位置的)片材的步进电机。由馈送电机驱动器电路17根据来自于CPU11的指令执行馈送电机16的驱动控制。通过驱动馈送电机16,片材被传送到喷墨头19的下表面(面对喷嘴的尖头)。
作为具有多个喷嘴(未示出)和致动器(未示出)的打印头的喷墨头19,装备有与四种颜色的墨水(青色、洋红色、黄色、黑色)相对应的四个喷墨头单元。头驱动器20是用于驱动喷墨头19的致动器的驱动电路。
CPU11基于存储在页存储器13d中的图像数据生成与四种颜色的墨水(青色、洋红色、黄色、黑色)相对应的多值数据并且经由门阵列(未示出)将生成的多值数据发送至头驱动器20。头驱动器20生成与从CPU11供给的多值数据相对应的驱动脉冲并且将驱动脉冲供给与喷嘴相对应的致动器,由此选择性地从喷嘴排出墨滴并且将与存储在页存储器13d中的图像数据相对应的图像打印在片材上。
接口21是用于控制打印机1和PC100之间的数据通信的单元。打印机1经由接口21从PC100接收打印命令和指定要被打印的图像的数据(例如,XPS文档)。
在从PC100接收了打印命令之后,接口21将(用于报告打印命令的接收的)中断信号发送至CPU11。在从PC100接收了XPS文档之后,接口21借助于DAM(直接存储器存取)将接收到的XPS文档传输至RAM13中的XPS数据存储器13a。
在下文中,将会参考图2A和图2B详细地解释被包括在XPS文档中的放射渐变画笔元素的细节。图2A是示出放射渐变画笔元素的示例和由该元素指定的参数的示意图。图2B是示出根据由放射渐变画笔元素指定的参数绘制的椭圆放射渐变的示例的示意图。
如图2A中所示,放射渐变画笔元素由多个属性和子元素组成。在属性和子元素当中,“中心(CENTER)”属性31、“半径X(RadiusX)”属性33和“半径Y(RadiusY)”属性34给出椭圆形状参数(指定椭圆形状)。同时,“渐变原点(GradientOrigin)”属性32和放射渐变画笔.渐变停止(RadialGradientBrush.GradientStop)元素35给出(指定要在椭圆形状中绘制的渐变图案的)渐变图案参数。
“中心”属性31指定图2B中所示的椭圆形状的中心的坐标(Cx,Cy)。这里,“椭圆形状的中心”意指椭圆形状的长轴和短轴彼此相交的点。
“渐变原点”属性32指定图2B中所示的渐变的中心的坐标(Gx,Gy)(即,渐变中心坐标)。这里,“渐变的中心”意指放射渐变的颜色变化开始的点(即,渐变的开始点)。
放射渐变表现为使得其颜色从其中心到由放射渐变画笔元素指定的椭圆形状的外围上的点(作为渐变中颜色变化的终点(渐变的终点))逐渐地变化。
附带地,按照由在由XPS文档指定的打印区域的左上角处限定的原点处以直角彼此相交的两个坐标轴(X轴,Y轴)表示的正交坐标系描述由“中心”属性31和“渐变原点”属性32给出的参数(请参见图2B)。
在该正交坐标系中,(正)X轴在打印区域的水平方向上(从左到右)延伸,而(正)Y轴在打印区域的竖直方向上(从上到下)延伸。
在图2A中所示的放射渐变画笔元素的示例中,通过“中心”属性31将椭圆形状的中心坐标指定为(150,150),而通过“渐变原点”属性32将渐变的中心坐标指定为(200,170)。
同时,“半径X”属性33指定X轴方向上的椭圆形状的半径Rx(在下文中被称为“X半径”),并且“半径Y”属性34指定Y轴方向上的椭圆形状的半径Ry(在下文中被称为“Y半径”)。
附带地,在X轴方向和Y轴方向上设置(由“半径X”属性33和“半径Y”属性34的参数指定的)椭圆形状的长/短轴。
因此,Rx或者Ry中较小的一个表示椭圆形状的短轴半径,而Rx或者Ry中的较大的一个表示椭圆形状的长轴半径。如图2B中所示,X轴方向和Y轴方向上的椭圆形状的长度分别为2Rx和2Ry。
在图2A中所示的放射渐变画笔元素的示例中,通过“半径X”属性33将X半径指定为“140”,并且通过“半径Y”属性34将Y半径指定为“100”。
同时,放射渐变画笔.渐变停止元素35给出指定渐变的色值的参数。元素35包括两个子元素:渐变停止元素35a和35b。每个渐变停止元素(35a和35b)包括“颜色(color)”属性和“偏移量(offset)”属性。
“颜色”属性指定在由“偏移量”属性指定的点处的红色、绿色以及蓝色的色值。在“颜色”属性中,色值被描述为六位十六进制数字,其中,最高有效位的两位指定红色值(Rs或者Re),接下来的两位指定绿色值(Gs或者Ge),并且最低有效位的两位指定蓝色值(Bs或者Be)。
“偏移量”属性指定具有由“颜色”属性指定的色值的点。例如,当“偏移量”属性的值为“0”时,意味着由“颜色”属性指定的色值是渐变的中心(起点)处的色值。当“偏移量”属性的值为“1”时,意味着由“颜色”属性指定的色值是由放射渐变画笔元素指定的椭圆形状的外围上的点处(即,在渐变的终点处)的色值。
因此,由渐变停止元素35a指定渐变的中心(起点)处红色、绿色以及蓝色的色值(Rs,Gs,Bs)(请参见图2B),而由(渐变停止元素35b指定椭圆形状的外围上的点处(即,在渐变的终点处)的红色、绿色以及蓝色的色值(Re,Ge,Be)(请参见图2B)。
在图2A中所示的放射渐变画笔元素的示例中,通过渐变停止元素35a将渐变的中心(起点)处的红/绿/蓝色值(Rs,Gs,Bs)指定为(FF)16,(FF)16和(00)16。
同时,通过渐变停止元素35b将椭圆形状的外围上的点处(即,渐变的终点处)的红/绿/蓝色值(Re,Ge,Be)指定为(00)16,(00)16和(FF)16。附带地,值“(FF)16”表示十六进制表示法中的“FF”(十进制表示法中的“255”),并且值“(00)16”表示十六进制表示法中的“00”(十进制表示法中的“0”)。
使用包括这样的属性和子元素的放射渐变画笔元素,从由“中心”属性31给出的椭圆形状的中心坐标(Cx,Cy)确定(由“中心”属性31给出的椭圆形状的中心坐标(Cx,Cy)指定)打印区域中的椭圆形状的绘制位置,从由“半径X”属性33和“半径Y”属性34给出的椭圆形状的X半径和Y半径确定(由“半径X”属性33和“半径Y”属性34给出的椭圆形状的X半径和Y半径指定)椭圆形状的外围的形状和尺寸,如图2B中所示。从上述信息,确定了打印区域中椭圆形状的外围上的点的位置。
同时,由“渐变原点”属性32给出的渐变中心坐标(Gx,Gy)来确定(指定)打印区域中渐变的中心的位置。
取决于渐变的中心和椭圆形状的外围上的各个点之间的距离,通过用由渐变停止元素35a指定的渐变的中心(起点)处的红/绿/蓝色值(Rs,Gs,Bs)和由渐变停止元素35b指定的椭圆形状的外围上的点处(即,渐变的终点处)的红/绿/蓝色值(Re,Ge,Be)通过插值确定椭圆形状中的渐变图案。
在下面,将会参考图3A-3E解释本实施例中采用的用于椭圆放射渐变的绘制的原理。图3A-3E是用于解释椭圆放射渐变的绘制的原理的示意图。在下述解释中,下面所示的3×3矩阵将被表示为(a,b,c,d,e,f)。
在本实施例中,当和打印命令一起从PC100接收到的数据是XPS文档并且XPS文档包括放射渐变画笔元素时,打印机控制单元10首先从放射渐变画笔元素提取图3A中所示的参数,即,指定椭圆形状的椭圆形状参数(即,椭圆形状的中心坐标(Cx,Cy)、X半径Rx和Y半径Ry)以及指定要在椭圆形状中绘制的渐变图案的渐变图案参数(即,渐变的中心坐标(Gx,Gy),渐变的中心(起点)处的色值(Rs,Gs,Bs)和椭圆形状的外围(渐变的终点)处的色值(Re,Ge,Be))(图3A中的S1)。
附带地,图3A是示出根据由放射渐变画笔元素指定的参数绘制的椭圆放射渐变的示例的示意图(几乎与图2B相同)。
接下来,根据下面的等式(1),通过使用提取的椭圆形状参数,打印机控制单元10生成用于将图3A中所示的椭圆形状放射变换到图3B中所示的正圆形状(其半径是Rx且中心坐标是(0,0))的变换矩阵A(图3B中的S2)。
A=(1,0,0,Rx/Ry,-Cx,-(Rx/Ry)·Cy)…(1)
附带地,虽然在本实施例中解释了将图3A中所示的椭圆形状仿射变换成图3B中所示的正圆形状(具有半径Rx和中心坐标(0,0))的情况,但是图3A中所示的椭圆形状也可以被仿射变换成具有半径Ry和中心坐标(0,0)的正圆形状,或者具有半径R(任意值)和中心坐标(0,0)的正圆形状。
在前一种的情况下,根据下面的等式(2)生成变换矩阵A。在后一种情况下,根据下面的等式(3)生成变换矩阵A。
A=(Ry/Rx,0,0,1,-(Ry/Rx)·Cx,-Cy)…(2)
A=(R/Rx,0,0,R/Ry,-(R/Rx)·Cx,-(R/Ry)·Cy)…(3)
接下来,打印机控制单元10使用由等式(1)生成的变换矩阵A对图3A中所示的渐变中心坐标(Gx,Gy)进行仿射变换(图3B中的S3)。然后,打印机控制单元10判断仿射变换之后的渐变的中心(请参见图3B)是否位于Y轴的非负部分上。如果仿射变换之后的渐变中心不在Y轴的非负部分上,则打印机控制单元10计算正Y轴与连接原点(0,0)和渐变中心的线段之间的角度θ(请参见图3B)(图3B中的S4)。
接下来,根据下面的等式(4)打印机控制单元10生成用于围绕原点旋转角度θ(仿射变换)的变换矩阵B1,然后如下面等式(5)所示,通过将变换矩阵A乘以变换矩阵B 1生成变换矩阵B(即,已经添加了旋转元素的变换矩阵A)(图3C中的S5)。
B1=(cosθ,sinθ,-sinθ,cosθ,0,0)…(4)
B=A·B1…(5)
另一方面,如果使用由等式(1)生成的变换矩阵A进行的仿射变换之后的渐变中心位于Y轴的非负部分上,则等式(1)的变换矩阵A直接被用作变换矩阵B。
接下来,打印机控制单元10通过使用变换矩阵B再次仿射变换图3A中所示的渐变中心坐标(Gx,Gy),由此图3A中所示的椭圆形状被变换成具有半径Rx和中心坐标(0,0)的正圆形状,并且渐变中心被放置在Y轴的非负部分,如图3C中所示。
接下来,打印机控制单元10执行光栅化处理用于为图3C中所示的正圆形状(在图3C中所示的正圆形状中)绘制放射渐变(图3C中的S6)。具体地,打印机控制单元10通过下述处理来执行光栅化处理:生成图3D中所示的放射渐变使得渐变中的红/绿/蓝色值从渐变的起点(即,仿射变换之后位于Y轴的非负部分上的渐变中心)处的值(Rs,Gs,Bs)到渐变的终点(即,正圆形状的外围)处的值(Re,Ge,Be)逐渐地变化,并且以位图的格式将生成的(在正圆形状中的)放射渐变存储在RAM13中。
这里,将会参考图4解释生成正圆形状中的放射渐变的方法。图4是用于解释生成用于正圆形状中放射渐变的红色放射渐变的方法的示意图。为了生成正圆形状中的放射渐变,独立地生成红色、绿色以及蓝色的放射渐变。生成绿色放射渐变和蓝色放射渐变的方法与生成红色放射渐变的方法(在这里解释)相同,因此为了简明扼要省略了关于绿色放射渐变和蓝色放射渐变的方法的解释和说明。
通过连续地计算具有均一的色值的每个正圆形状的中心坐标和半径并且用均一的色值连续地绘制(由中心坐标和半径指定的)每个正圆形状,从(最外面的)正圆形状的外围生成正圆形状中的(红色、绿色或者蓝色的)放射渐变。
具体地,打印机控制单元10首先将(最外面的)正圆形状(正圆0)的外围的中心坐标C0和半径r0分别确定为(0,0)和Rx。接下来,打印机控制单元10将用于(由中心坐标C0和半径r0指定的)正圆0上的点和正圆0内部的点的(红)色值R0设置为已经为(最外面的)正圆形状的外围(渐变的终点)指定的色值Re,然后用色值R0(=Re)绘制正圆0上的点和正圆0的内部的点。
接下来,打印机控制单元10通过使用下面的等式(6)-(9)计算内正圆1(其就在正圆0的内部并且不同于正圆0的色值R0的色值R1被用于所述内正圆1)的色值R1、半径r1和中心坐标C1(C1x,C1y):
C1x=0…(6)
C1y=G′y·k/(Re-Rs)…(7)
r1=r0-r0·k/(Re-Rs)…(8)
R1=Re-k…(9)
其中,“G′y”表示通过变换矩阵B进行的仿射变换之后的渐变中心的Y坐标,并且“k”表示在两个相邻的正圆之间的色值中的变化(差)。
在本实施例中,当渐变中心处的色值Rs大于(最外面的)正圆形状的外围处的色值Re时色值变化k被设为“-1”,或者当渐变中心处的色值Rs小于(最外面的)正圆形状的外围处的色值Re时色值变化k被设为“+1”。附带地,考虑到人类感觉、颜色空间的特性、打印机1的颜色重现性能等等,可以适当地设置色值变化k使得渐变中的颜色变化看起来平滑。
接下来,打印机控制单元10用通过等式(9)计算的色值R1绘制(由通过等式(6)-(8)计算的中心坐标C1(C1x,C1y)和半径r1指定的)正圆1的内部。
此后,打印机控制单元10从外部开始连续地计算每个后面的(里面的)正圆(2,3,......,n,......)的中心坐标、半径和色值,同时用计算的色值绘制(由计算的中心坐标和半径指定的)每个正圆2,3,......,n,......的内部。重复该处理直到完成了用色值Rs绘制的正圆的绘制。附带地,通过使用下面的等式(10)-(13)计算每个(里面的)正圆n的中心坐标(Cnx,Cny)、半径rn和色值Rn:
Cnx=0…(10)
Cny=G′y·n·k/(Re-Rs)…(11)
rn=r0-r0·n·k/(Re-Rs)…(12)
Rn=Re-n·k…(13)
通过上述方法生成正圆形状中的放射渐变。在此种方法中,通过使用变换矩阵B的仿射变换使渐变中心被放置在Y轴的非负部分上,因此在每个具有均一的色值的正圆形状的中心坐标的计算中X坐标能够被固定在“0”。
换言之,要用均一的色值绘制的每个正圆形状的中心坐标能够被作为一维函数(仅使用Y坐标)来计算,由此能够显著地减少正圆形状中放射渐变的绘制所需要的计算量。
此外,通过由通过变换矩阵B进行的仿射变换使渐变中心被放置在Y轴的非负部分,仿射变换之后的渐变中心能够被固定在正圆形状的中心或者正圆形状的中心的正侧上的位置。
返回到图3D,打印机控制单元1对其中已经绘制了如图3D中所示的(存储在RAM13中的)渐变的正圆形状执行逆仿射变换(图3D中的S7)。使用作为变换矩阵B(用于图3A中所示的椭圆形状到图3C中所示的正圆形状的仿射变换(其中已经在此点绘制了渐变))的逆的变换矩阵来执行逆仿射变换。
通过绘制通过由变换矩阵B进行的(由放射渐变画笔元素指定的)椭圆形状的仿射变换而获得的正圆形状中的渐变,并且然后通过如上的变换矩阵的逆矩阵对(其中已经绘制了渐变的)正圆形状执行逆仿射变换,能够生成如图3E中所示的由放射渐变画笔元素指定的椭圆放射渐变。以位图的格式将如上生成的椭圆放射渐变存储在页存储器13d中,由此完成了椭圆放射渐变的光栅化。
在下面,将会参考图5描述由打印机控制单元10执行的打印处理的处理流程。图5是打印处理的流程图。当CPU11检测到(从接口21发送的用于通知CPU11打印命令的接收的)中断信号时,启动下述打印处理,该打印处理用于基于经由接口21从PC100(伴随着打印命令)接收到的数据生成要由打印机1打印的图像数据并且打印出生成的图像数据。
在打印处理的开始,打印机控制单元10判断从PC100伴随着打印命令接收到的数据是否为XPS文档(根据XPS描述的文档)(S11)。当数据是XPS文档(S11:是)时,打印机控制单元10(CPU11)从XPS数据存储器13a读出(已经借助于DMA(直接存储器存取)从接口21传输到XPS数据存储器13a的)XPS文档,分析XPS文档的内容,并且获取包括在XPS文档中的一个元素(S12)。
接下来,打印机控制单元10判断S12中获取的元素是否为放射渐变画笔元素(S13)。当获取的元素是放射渐变画笔元素(S13:是)时,(判断获取的元素是用于绘制椭圆放射渐变的指令时)打印机控制单元10执行将会在后面加以描述的椭圆放射渐变光栅化处理(图6)(S14)。
通过椭圆放射渐变光栅化处理,能够生成由放射渐变画笔元素指定的椭圆放射渐变,同时减少与椭圆放射渐变的绘制有关的负荷。在页存储器13d上光栅化生成的椭圆放射渐变。在步骤S14之后,处理进入步骤S16。
另一方面,当在S12中获取的元素不是放射渐变画笔元素(S13:否)时,打印机控制单元10执行与获取的元素相对应的光栅化处理,将通过光栅化处理生成的图像数据存储在页存储器13d中(S15),并且进入步骤S16。
在步骤S16中,打印机控制单元10判断XPS文档是否还包括在S12中还没有提取的(获取的)元素。当XPS文档包括还没有提取的元素(S16:是)时,打印机控制单元10返回到步骤S 12以为下一个元素重复步骤S12-S16。
重复步骤S12-S16直到在S12中提取了XPS文档中包括的所有元素并且为所有的元素完成了光栅化处理(S14或者S15)(S16:否),由此由XPS文档指定的图像数据在页存储器13d上被光栅化。
在S12中已经提取了XPS文档中包括的所有元素并且已经为所有的元素完成了光栅化处理(S14或者S15)的情况下(S16:否),处理进入步骤S18。
同时,当在S11中从PC100伴随着打印命令接收到的数据不是XPS文档(S11:否)时,打印机控制单元10根据伴随着打印命令接收到的数据的内容生成(用于打印的)图像数据,然后将生成的图像数据存储在页存储器13d中(S17)。其后,处理进入步骤S18。
在步骤S18中,打印机控制单元10基于在S11-S17中生成并存储在页存储器13d中的图像数据将信号发送到馈送电机驱动电路17和头驱动器20,由此驱动馈送电机16和喷墨头19并且将根据图像数据的图像打印在片材上(图5的打印处理完成)。
通过上面解释的打印处理(图5),在从PC100接收了打印命令之后,基于伴随着打印命令的数据能够生成图像数据,并且能够将根据生成的图像数据的图像打印在片材上。
在打印处理中,当从PC100接收XPS文档作为伴随着打印命令的数据时,分析XPS文档。当放射渐变画笔元素被包括在XPS文档中时,执行椭圆放射渐变光栅化处理(在下面解释),由此允许打印机控制单元10生成由放射渐变画笔元素指定的椭圆放射渐变,同时减少与椭圆放射渐变的绘制有关的负荷。
接下来,将会参考图6解释由打印机控制单元10执行的作为图5中的步骤S14的椭圆放射渐变光栅化处理。图6是椭圆放射渐变光栅化处理的流程图。
当在由打印机控制单元10(CPU11)执行的打印处理(图5)中伴随着打印命令的数据是XPS文档并且放射渐变画笔元素被包括在XPS文档中描述的元素中时,执行用于生成由被包括在XPS文档中的放射渐变画笔元素指定的椭圆放射渐变的椭圆放射渐变光栅化处理。将会在下面联系用于图3A-3E中所示的椭圆放射渐变的绘制的前述原理来解释椭圆放射渐变光栅化处理(图6)。
在椭圆放射渐变光栅化处理的开始,打印机控制单元10从放射渐变画笔元素中提取椭圆形状的中心坐标(Cx,Cy)、X半径Rx以及Y半径Ry(请参见图2A和图2B)作为(指定椭圆形状的)椭圆形状参数,并且将提取的参数存储在渐变参数存储器13b中(S21)。
接下来,打印机控制单元10从放射渐变画笔元素中提取渐变的中心坐标(Gx,Gy)、渐变的中心(起点)处的红/绿/蓝色值(Rs,Gs,Bs)和椭圆形状的外围(渐变的终点)处的红/绿/蓝色值(Re,Ge,Be)(请参见图2A和图2B)作为(指定要在椭圆形状中绘制的渐变图案的)渐变图案参数并且将提取的参数存储在渐变参数存储器13b中(S22)。这些步骤S21和S22对应于图3A中所示的步骤S1。
接下来,打印机控制单元10读出存储在渐变参数存储器13b中的椭圆形状参数,并且通过使用等式(1)生成用于从由放射渐变画笔元素指定的椭圆形状(请参见图3A)到具有半径Rx和中心坐标(0,0)的正圆形状(参见图3B)的仿射变换的变换矩阵A,并且将生成的变换矩阵A存储在变换矩阵存储器13c中(S23)。
附带地,步骤S23可以被构造为通过使用等式(2)生成不同的变换矩阵A并且将生成的变换矩阵A存储在变换矩阵存储器13c中以便于将椭圆形状仿射变换到具有半径Ry和中心坐标(0,0)的正圆形状,如上所述。
步骤S23也可以被构造为通过使用等式(3)生成不同的变换矩阵A并且将生成的变换矩阵A存储在变换矩阵存储器13c中以便于将椭圆形状仿射变换到具有半径R(任意值)和中心坐标(0,0)的正圆形状,如上所述。
该步骤S23对应于图3B中所示的步骤S2。
在生成变换矩阵A并且将其存储在变换矩阵存储器13c中(S23)之后,打印机控制单元10使用存储在变换矩阵存储器13c中的变换矩阵A对存储在渐变参数存储器13b中的渐变中心坐标(Gx,Gy)进行仿射变换(S24)。该步骤S24对应于图3B中所示的步骤S3。
接下来,打印机控制单元10判断通过S24的仿射变换获得的渐变中心坐标是否位于Y轴的非负部分上(S25)。当仿射变换之后的渐变中心坐标位于Y轴的非负部分上(S25:是)时,为了使用变换矩阵A直接作为变换矩阵B,打印机控制单元10保持变换矩阵A存储在变换矩阵存储器13c中(S26)。其后,处理进入步骤S28。
另一方面,当仿射变换之后的渐变中心坐标没有位于Y轴的非负部分上(S25:否)时,打印机控制单元10计算正Y轴和连接仿射变换之后的渐变中心与原点(0,0)的线段之间的角度θ(请参见图3B)(图3B中所示的步骤S4),通过使用等式(4)和(5)将围绕原点(0,0)旋转角度θ的旋转操作(即,前述的旋转元素)添加至存储在变换矩阵存储器13c中的变换矩阵A来生成变换矩阵B(图3C中所示的步骤S5),并且通过覆写变换矩阵A将生成的变换矩阵B存储在变换矩阵存储器13c中(S27)。其后,处理进入步骤S28。
通过如上地执行步骤S25-S27,能够生成变换矩阵B,该变换矩阵B用于将由放射渐变画笔元素指定的椭圆形状(请参见图3A)仿射变换到具有半径Rx和中心坐标(0,0)的正圆形状并且将渐变中心放置在Y轴的非负部分上(请参见图3C)。
在步骤S28中,打印机控制单元10通过这次使用变换矩阵B对存储在渐变参数存储器13b中的渐变中心坐标(Gx,Gy)进行仿射变换,由此将渐变的中心放置在Y轴的非负部分上。
接下来,对于具有半径Rx和中心坐标(0,0)的图3C中所示的正圆形状,打印机控制单元10生成放射渐变使得渐变中的色值从被放置在Y轴的非负部分上的渐变中心(即,渐变的起点)到正圆形状的外围(即,渐变的终点)逐渐地变化,并且以位图的格式将生成的放射渐变存储在RAM13中(S29)。
在该步骤S29中,打印机控制单元10从渐变参数存储器13b中读出位于渐变的中心(起点)处的红/绿/蓝色值(Rs,Gs,Bs),并且使用色值(Rs,Gs,Bs)作为仿射变换之后被放置在Y轴的非负部分上的渐变的中心(起点)处的红/绿/蓝色值。
同时,打印机控制单元10还从渐变参数存储器13b中读出椭圆形状的外围(即,渐变的终点)处的红/绿/蓝色值(Re,Ge,Be),并且使用色值(Re,Ge,Be)作为通过仿射变换获得的正圆形状的外围(即,渐变的终点)处的红/绿/蓝色值。
然后,打印机控制单元10通过已经参考图4解释的(生成正圆形状中的放射渐变的)前述方法生成在正圆形状中的放射渐变,由此生成图3D中所示的正圆放射渐变。该步骤S29对应于图3D中所示的步骤S6。
在接下来的步骤S30中,打印机控制单元10计算在S26或者S27中已经被保持或者保存在变换矩阵存储器13c中的变换矩阵B的逆矩阵C。通过使用逆矩阵C,打印机控制单元10对在S29中存储在RAM13中的正圆放射渐变进行逆仿射变换,以位图的格式将逆仿射变换的结果存储在页存储器13d中(S31),并且结束图6的椭圆放射渐变光栅化处理。
通过步骤S31,能够如图3E中所示地生成由放射渐变画笔元素指定的椭圆放射渐变并在页存储器13d上光栅化。该步骤S31对应于图3E中所示的步骤S7。
如上,在由打印机控制单元10执行的椭圆放射渐变光栅化处理中,首先在正圆形状中绘制渐变(没有直接在椭圆形状中绘制指定的渐变),由此能够基于正圆的轨迹计算颜色变化点(在颜色变化点周围绘制不同颜色)。由于与直接绘制用于椭圆形状的渐变的情况相比能够简化用于渐变的绘制的计算,所以能够显著地减少与渐变的绘制有关的负荷。
此外,由于计算(基于椭圆形状参数生成以将椭圆形状变换成正圆形状的)变换矩阵B的逆矩阵C并且使用逆矩阵C对其中已经绘制了渐变的正圆形状进行逆仿射变换,所以能够容易地生成根据椭圆形状的放射渐变和由放射渐变画笔元素指定的渐变图案。
因此,在根据XPS描述的文档中存在放射渐变画笔元素的情况下,能够生成由放射渐变画笔元素指定的椭圆放射渐变,同时减少与渐变的绘制有关的负荷。
此外,由于仿射变换之后的渐变的中心被放置在Y轴上,因此沿着Y轴计算正圆形状(在每个正圆形状中,用均一的色值来绘制)的中心位置(中心坐标)并且为正圆绘制渐变。通过此种方法,能够通过使用由中心位置的Y坐标表示的一维函数来计算正圆(正圆形状,在每个正圆形状中,用均一的色值来绘制)的中心位置。因此,能够进一步地减少正圆形状中渐变的绘制所需要的计算量,从而能够进一步减少与放射渐变的绘制有关的负荷。
如上所述,通过根据本实施例的打印机1的打印机控制单元10,将由放射渐变画笔元素指定的椭圆形状变换成正圆形状,对正圆形状(在正圆形状中)绘制渐变,然后通过对正圆形状中绘制的渐变进行逆变换获得椭圆放射渐变,由此能够生成由放射渐变画笔元素指定的椭圆放射渐变,同时减少与放射渐变的绘制有关的负荷。
此外,利用根据本实施例的打印机1,当伴随着打印命令从PC100接收到的数据包括用于绘制椭圆放射渐变的指令时,由上述打印机控制单元10基于绘制指令生成椭圆放射渐变。因此,能够通过生成椭圆放射渐变,同时减少与放射渐变的绘制有关的负荷来执行椭圆放射渐变的打印。
虽然在上面已经给出了根据本发明的优选实施例,但是本发明不限于特别示出的实施例,并且在不偏离由权利要求中所描述的本发明的范围和精神的情况下,各种的修改、设计变化等等都是可能的。
例如,虽然在上面实施例中,由XPS文档的放射渐变画笔元素(图像绘制指令)指定的椭圆形状的长轴和短轴被设置在X轴方向和Y轴方向中,但是椭圆形状的长轴和短轴可以被设置在任意方向。
在该情况下,能够首先对由图像绘制指令指定的椭圆形状执行旋转仿射变换以便于将其长轴和短轴设置在X轴方向和Y轴方向,根据参考图3A-3E解释的绘制原理生成椭圆放射渐变,并且最终对获得的椭圆放射渐变执行逆旋转仿射变换以将(旋转的)椭圆形状的长轴和短轴返回到由图像绘制指令指定的原始方向。
虽然在以上实施例中,由包括在放射渐变画笔元素中的放射渐变画笔.渐变停止元素指定渐变的中心(起点)处的色值和椭圆形状的外围处(渐变的终点处)的色值,但是上述实施例也可应用于放射渐变画笔.渐变停止元素进一步包括指定渐变的起点和终点之间的任意点处的色值的渐变停止元素的情况。
在这样的情况下(当起点与位于从起点延伸并且经过任意点的线上的渐变的终点之间的距离被归一化为“1”时),由指定任意点处的色值的渐变停止元素的“偏移量”属性表示的值表示渐变的起点和由渐变停止元素指定色值的任意点之间的(相对)距离d。因此,能够通过将(离开正圆形状的中心(起点)(相对)距离d的)相应的点的色值设置为由渐变停止元素指定的任意点的色值,来为正圆形状(在正圆形状中)执行渐变的绘制。
虽然在上述实施例中在椭圆放射渐变光栅化处理(图6)中在生成用于正圆形状的放射渐变之后计算变换矩阵B的逆矩阵C,但是逆矩阵计算的时序不限于上述实施例;可以在生成变换矩阵B之后以及其中已经绘制了放射渐变的正圆形状的逆仿射变换之前的任何时间计算逆矩阵C。
虽然在上述实施例中当伴随着打印命令从PC100接收到的数据是XPS文档并且放射渐变画笔元素(作为用于绘制椭圆放射渐变的指令)被包括在XPS文档中时(在伴随着打印命令从PC100接收到的数据是XPS文档并且放射渐变画笔元素(作为用于绘制椭圆放射渐变的指令)被包括在XPS文档中的情况下),执行椭圆放射渐变光栅化处理(图6),但是用于执行椭圆放射渐变光栅化处理的情况不限于本实施例。可以在用于绘制椭圆放射渐变的指令被包括在伴随着打印命令从PC100接收到的PDL数据(PDL(页面描述语言)中描述的数据)中时的任何时候,执行椭圆放射渐变光栅化处理。
虽然在上述实施例的打印机1的内部提供了打印机控制单元10,但是可以在打印机1的外部提供打印机控制单元10并且经由通信电缆或者无线通信将其连接至打印机1。也可以在PC100的内部提供打印机控制单元10。
虽然在以上实施例中,由打印机控制单元10执行椭圆放射渐变光栅化处理(图6)以生成要由打印机1打印的椭圆放射渐变,但是不仅可以通过这样的打印机控制单元执行椭圆放射渐变光栅化处理而且可以通过控制用于输出椭圆放射渐变的装置的任何单元/装置来执行椭圆放射渐变光栅化处理。例如,在使用显示器来显示椭圆放射渐变的情况下,用于控制显示器的显示控制单元可以执行椭圆放射渐变光栅化处理(图6)并且在用于存储要在显示器上显示的图像数据的帧存储器上光栅化通过该处理生成的椭圆放射渐变。
虽然在上述实施例中打印机1将图像(例如,椭圆放射渐变)打印在作为打印介质的片材(例如,纸)上,但是打印机1也可以被构造为在其它类型的打印介质(织物、塑料、乙烯基等等)上执行打印。
虽然在上述实施例中生成变换矩阵B以便于将仿射变换之后的渐变的中心放置在Y轴的非负部分上,但是也可以生成变换矩阵B以便于将(仿射变换之后的)渐变中心放置在Y轴的非正部分上。
Claims (6)
1.一种图像生成装置,包括:
目标数据接收单元,所述目标数据接收单元接收包括用于绘制椭圆放射渐变的图像绘制指令的目标数据;
获取单元,所述获取单元从接收到的目标数据获取所述图像绘制指令;
提取单元,所述提取单元从获取的图像绘制指令提取指定所述椭圆放射渐变的椭圆形状的椭圆形状参数以及指定要在所述椭圆形状中绘制的渐变图案的渐变图案参数;
变换矩阵生成单元,所述变换矩阵生成单元基于所述椭圆形状参数生成用于将所述椭圆形状变换到正圆形状的变换矩阵;
逆矩阵计算单元,所述逆矩阵计算单元计算所述变换矩阵的逆矩阵;
变换单元,所述变换单元通过使用所述变换矩阵变换所述渐变图案参数;
绘制单元,所述绘制单元基于由所述变换单元变换的变换后的渐变图案参数绘制通过由所述变换矩阵进行的所述椭圆形状的变换而获得的所述正圆形状中的渐变;以及
渐变生成单元,所述渐变生成单元通过使用所述逆矩阵对其中已经通过所述绘制单元绘制了所述渐变的所述正圆形状进行逆变换来生成所述椭圆放射渐变,
其中:
所述渐变图案参数包括与在所述椭圆形状中绘制的渐变的中心有关的位置信息,并且
所述图像生成装置进一步包括设置单元,所述设置单元将通过由所述变换单元进行的变换而获得的渐变的变换后的中心设置在与所述正圆形状的中心相交的坐标轴上,其中由与通过所述变换单元进行的变换之后的渐变的中心有关的位置信息确定所述渐变的变换后的中心,和
所述绘制单元通过计算要沿着所述坐标轴用均一的颜色绘制的每个正圆的中心位置来绘制所述正圆形状中的渐变。
2.根据权利要求1所述的图像生成装置,其中:
所述目标数据接收单元被构造为接收根据XML文件规格描述的目标数据,
所述图像生成装置进一步包括指令判断单元,所述指令判断单元判断如果所述获取的图像绘制指令包括放射渐变画笔元素,则所述获取的图像绘制指令包括用于绘制所述椭圆放射渐变的指令,和
所述提取单元从所述放射渐变画笔元素中提取所述椭圆形状的中心坐标、长轴半径和短轴半径作为所述椭圆形状参数,同时提取所述渐变的中心坐标作为所述渐变图案参数。
3.一种打印装置,其包括生成图像的图像生成单元和将由所述图像生成单元生成的所述图像打印在打印介质上的打印单元,其中所述图像生成单元包括:
目标数据接收单元,所述目标数据接收单元接收包括用于绘制椭圆放射渐变的图像绘制指令的目标数据;
获取单元,所述获取单元从接收到的目标数据获取所述图像绘制指令;
提取单元,所述提取单元从获取的图像绘制指令提取指定所述椭圆放射渐变的椭圆形状的椭圆形状参数和指定要在所述椭圆形状中绘制的渐变图案的渐变图案参数;
变换矩阵生成单元,所述变换矩阵生成单元基于所述椭圆形状参数生成用于将所述椭圆形状变换到正圆形状的变换矩阵;
逆矩阵计算单元,所述逆矩阵计算单元计算所述变换矩阵的逆矩阵;
变换单元,所述变换单元通过使用所述变换矩阵变换所述渐变图案参数;
绘制单元,所述绘制单元基于由所述变换单元变换的变换后的渐变图案参数绘制通过由所述变换矩阵进行的所述椭圆形状的变换获得的所述正圆形状中的渐变;以及
渐变生成单元,所述渐变生成单元通过使用所述逆矩阵对其中已经通过所述绘制单元绘制了所述渐变的所述正圆形状进行逆变换来生成所述椭圆放射渐变,
其中:
所述渐变图案参数包括与在所述椭圆形状中绘制的所述渐变的中心有关的位置信息,并且
所述图像生成单元进一步包括设置单元,所述设置单元将通过由所述变换单元进行的所述变换而获得的渐变的变换后的中心设置在与所述正圆形状的中心位置相交的坐标轴上,其中通过由所述变换单元进行的变换而获得的变换后的位置信息确定所述渐变的变换后的中心,和
所述绘制单元通过计算要沿着所述坐标轴用均一的颜色绘制的每个正圆的中心位置来绘制所述正圆形状中的所述渐变。
4.根据权利要求3所述的打印装置,其中:
所述目标数据接收单元被构造为接收根据XML文件规格描述的目标数据,
所述图像生成单元进一步包括指令判断单元,所述指令判断单元判断如果所述获取的图像绘制指令包括放射渐变画笔元素,则所述获取的图像绘制指令包括用于绘制椭圆放射渐变的指令,和
所述提取单元从所述放射渐变画笔元素提取所述椭圆形状的中心坐标、长轴半径和短轴半径作为所述椭圆形状参数,同时提取所述渐变的中心坐标作为所述渐变图案参数。
5.一种图像生成方法,包括:
目标数据接收步骤,所述目标数据接收步骤接收包括用于绘制椭圆放射渐变的图像绘制指令的目标数据;
获取步骤,所述获取步骤从接收到的目标数据获取所述图像绘制指令;
提取步骤,所述提取步骤从获取的图像绘制指令提取指定所述椭圆放射渐变的椭圆形状的椭圆形状参数以及指定要在所述椭圆形状中绘制的渐变图案的渐变图案参数;
变换矩阵生成步骤,所述变换矩阵生成步骤基于所述椭圆形状参数生成用于将所述椭圆形状变换到正圆形状的变换矩阵;
逆矩阵计算步骤,所述逆矩阵计算步骤计算所述变换矩阵的逆矩阵;
变换步骤,所述变换步骤通过使用所述变换矩阵变换所述渐变图案参数;
绘制步骤,所述绘制步骤基于变换后的渐变图案参数绘制通过由所述变换矩阵进行的所述椭圆形状的变换获得的所述正圆形状中的渐变;以及
渐变生成步骤,所述渐变生成步骤通过使用所述逆矩阵对其中已经通过所述绘制步骤绘制了所述渐变的所述正圆形状进行逆变换来生成所述椭圆放射渐变,
其中:
所述渐变图案参数包括与要在所述椭圆形状中绘制的渐变的中心有关的位置信息,和
所述图像生成方法进一步包括设置步骤,所述设置步骤将通过由所述变换步骤进行的变换获得的所述渐变的变换后的中心位置设置在与所述正圆形状的中心位置相交的坐标轴上,其中通过由所述变换步骤进行的变换获得的变换后的位置信息确定所述渐变的变换后的中心位置,和
所述绘制步骤通过计算要沿着所述坐标轴用均一的颜色绘制的每个正圆的中心位置来绘制所述正圆形状中的所述渐变。
6.根据权利要求5所述的图像生成方法,其中:
所述目标数据接收步骤被构造为接收根据XML文件规格描述的目标数据,
所述图像生成方法进一步包括指令判断步骤,所述指令判断步骤判断如果通过所述获取步骤获取的所述图像绘制指令包括放射渐变画笔元素,则所述获取的图像绘制指令包括用于绘制椭圆放射渐变的指令,和
所述提取步骤从所述放射渐变画笔元素提取所述椭圆形状的中心坐标、长轴半径和短轴半径作为所述椭圆形状参数,同时提取所述渐变的中心坐标作为所述渐变图案参数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008093147A JP4513887B2 (ja) | 2008-03-31 | 2008-03-31 | 画像生成装置および印刷装置 |
JP2008-093147 | 2008-03-31 | ||
JP2008093147 | 2008-03-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101551913A CN101551913A (zh) | 2009-10-07 |
CN101551913B true CN101551913B (zh) | 2013-04-17 |
Family
ID=40863596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101330328A Active CN101551913B (zh) | 2008-03-31 | 2009-03-31 | 图像生成装置、图像生成方法及打印装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8300273B2 (zh) |
EP (1) | EP2107525B1 (zh) |
JP (1) | JP4513887B2 (zh) |
CN (1) | CN101551913B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4518172B2 (ja) * | 2008-03-31 | 2010-08-04 | ブラザー工業株式会社 | 画像生成装置および印刷装置 |
JP5757905B2 (ja) * | 2012-03-30 | 2015-08-05 | 武藤工業株式会社 | グラデーションパターン作成プログラム |
CN111142816B (zh) * | 2019-12-27 | 2023-03-03 | 珠海趣印科技有限公司 | 一种用于打印机上基于算法描线画圆环的方法 |
CN111209070B (zh) * | 2020-01-06 | 2023-09-26 | 杭州涂鸦信息技术有限公司 | Web端线性渐变色取色方法 |
CN113554648B (zh) * | 2021-09-18 | 2021-11-30 | 四川太平洋药业有限责任公司 | 生产线检测方法 |
CN114582301B (zh) * | 2022-03-08 | 2024-07-23 | 康键信息技术(深圳)有限公司 | 一种信息显示方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127127A (zh) * | 2007-09-29 | 2008-02-20 | 腾讯科技(深圳)有限公司 | 阴影绘制方法及渲染装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3554034B2 (ja) * | 1994-09-02 | 2004-08-11 | キヤノン株式会社 | カラー印刷装置及びその方法 |
US6201550B1 (en) * | 1997-06-30 | 2001-03-13 | Fuji Xerox Co., Ltd. | Image forming apparatus and method of generating gradation pattern |
JP3606006B2 (ja) | 1997-07-10 | 2005-01-05 | 富士ゼロックス株式会社 | 画像形成装置およびグラデーション描画方法 |
JPH11102446A (ja) | 1997-09-29 | 1999-04-13 | Fujitsu Ltd | グラフィックス入力装置 |
US6515763B1 (en) * | 1998-07-31 | 2003-02-04 | Adobe Systems Incorporated | Vignette recognition and compression |
JP2002223366A (ja) * | 2001-01-26 | 2002-08-09 | Canon Inc | 画像処理装置及びその方法、及び画像処理システム |
US6870954B1 (en) * | 2001-04-04 | 2005-03-22 | Adobe Systems Incorporated | Methods apparatus for generating shaped gradient fills |
US7417645B2 (en) * | 2003-03-27 | 2008-08-26 | Microsoft Corporation | Markup language and object model for vector graphics |
US20040246510A1 (en) * | 2003-06-06 | 2004-12-09 | Jacobsen Dana A. | Methods and systems for use of a gradient operator |
AU2003903448A0 (en) * | 2003-06-26 | 2003-07-17 | Canon Kabushiki Kaisha | A method for tracking depths in a scanline based raster image processor |
US7499058B2 (en) * | 2005-04-22 | 2009-03-03 | Microsoft Corporation | Programmatical access to handwritten electronic ink in a tree-based rendering environment |
JP4513888B2 (ja) * | 2008-03-31 | 2010-07-28 | ブラザー工業株式会社 | 画像生成装置および印刷装置 |
-
2008
- 2008-03-31 JP JP2008093147A patent/JP4513887B2/ja active Active
-
2009
- 2009-03-26 US US12/412,345 patent/US8300273B2/en active Active
- 2009-03-30 EP EP09250922A patent/EP2107525B1/en active Active
- 2009-03-31 CN CN2009101330328A patent/CN101551913B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127127A (zh) * | 2007-09-29 | 2008-02-20 | 腾讯科技(深圳)有限公司 | 阴影绘制方法及渲染装置 |
Non-Patent Citations (2)
Title |
---|
JP特开平11-31231A 1999.02.02 |
microsoft.RadialGradientBrush成员.《http://msdn.microsoft.com/zh-cn/library/ms635492(v=VS.90).aspx》.2007,1-4. * |
Also Published As
Publication number | Publication date |
---|---|
US8300273B2 (en) | 2012-10-30 |
US20090244576A1 (en) | 2009-10-01 |
JP2009245327A (ja) | 2009-10-22 |
EP2107525A2 (en) | 2009-10-07 |
JP4513887B2 (ja) | 2010-07-28 |
CN101551913A (zh) | 2009-10-07 |
EP2107525A3 (en) | 2011-04-27 |
EP2107525B1 (en) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101551912B (zh) | 图像生成装置、图像生成方法及打印装置 | |
CN101551913B (zh) | 图像生成装置、图像生成方法及打印装置 | |
CN101593355B (zh) | 图像生成装置、图像生成方法及打印装置 | |
CN101625764B (zh) | 图像生成装置、图像生成方法及打印装置 | |
CN101561934B (zh) | 图像生成装置、图像生成方法及打印装置 | |
US8675968B2 (en) | Image processing apparatus | |
CN106067932A (zh) | 印刷数据生成装置、印刷装置及印刷数据生成方法 | |
CN107512000A (zh) | 3d打印头组件、3d打印机及其打印方法以及存储介质 | |
JP5112223B2 (ja) | 画像処理装置及び画像処理プログラム | |
WO2024019700A1 (en) | Color deposit values | |
JP2024045931A (ja) | 印刷装置、及び、印刷物生産方法 | |
WO2004010684A1 (en) | Halftone dot thinning | |
JPH1051637A (ja) | カラー画像形成装置及び色ずれ補正方法 | |
JP2012213861A (ja) | 印刷データ処理装置および印刷データ処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |