具体实施方式
为了提高打印机的图像打印清晰度,本发明实施例提供一种图像打印的方法,本方法中,首先按照高分辨率将待打印图像进行栅格化处理,生成数据点阵,然后根据高、低分辨率的倍数拆分所述数据点阵,生成新的数据点阵,将新的数据点阵发送给低分辨率的打印机进行打印,打印出高分辨率的图像。
参见图1,本发明实施例提供的图像打印的方法,具体包括:
步骤10:按照第一分辨率将待打印图像进行栅格化处理,生成第一数据点阵;
步骤11:根据第一分辨率与第二分辨率的倍数拆分所述第一数据点阵,生成第二数据点阵;
步骤12:将第二数据点阵输出给具有所述第二分辨率的打印机进行打印。
本发明实施例提供的图像打印的方法,具体包括如下四个实施例:
实施例一:
本实施例中,将打印图像的横向分辨率由LH提高到HH,其中,LH为打印机的横向分辨率,HH为LH的h倍,并且:h=(1/dh)/LH,dh为打印机横向水平移动墨头的距离,dh=1/HH。本发明将打印图像的横向分辨率由LH提高到HH,其实现思想是:打印机的横向分辨率为LH,表示一次扫描打印后,横向相邻两个墨点的间距为1/LH,由于横向水平移动墨头的距离为dh,即墨点间距的h分之一,因此在打印一行数据时可以通过数据点阵拆分的方法使得在第n个象素的位置上打印第(n-1)*h+1个象素,即在每两个相邻象素之间均匀插入h-1个象素,就可实现横向分辨率从LH提高到HH。如图2A所示,具体包括如下步骤:
步骤20:按照横向高分辨率(HH)将待打印图像进行栅格化处理,生成第一数据点阵;
步骤21:根据横向高分辨率(HH)与横向低分辨率(LH)的倍数将所述第一数据点阵的每行数据拆分为第二数据点阵;
具体的,在拆分所述第一数据点阵的一行数据时,进行h次象素抽取,每次抽取后将抽取到的象素组成一个子行,将组成的各个子行构成第二数据点阵;具体进行象素抽取的方法为:从行数据的每h个象素中抽取一个象素;可见,第二数据点阵包含的子行数为分辨率倍数h,每个子行包含的象素数为所述行数据所包含象素个数与分辨率倍数h的商。
以公式说明,假设拆分前的行数据为{a1,a2,,a3,...,aI},即该行数据所包含象素个数为I,则将该行数据拆分后的子行数为h,每个子行包含的象素数为I/h。
需要说明的是,这里I需是h的整数倍,即拆分前的行数据所包含象素个数需要是分辨率倍数的整数倍,若I不能满足为h整数倍的需求,则在拆分前需要将行数据的后面补充空白象素,使得补充了空白象素后的行数据所包含的象素个数为h的整数倍。具体为行数据补充空白象素,可以在进行图像删格化处理时完成,也可以在拆分该行数据时完成。
步骤22:将所述拆分后的第二数据点阵逐行输出给具有低横向分辨率(LH)的打印机进行打印;
具体的,在将第一数据点阵的一行数据进行打印时,将该行数据拆分后形成的第二数据点阵的各个子行逐行输出给打印机进行打印,每个子行打印前,驱动打印机墨头从本行原点向右移动第一距离,然后进行子行的打印,如此循环,直到所述第二数据点阵的各个子行全部打印完毕。各个子行全部打印完毕后,驱动打印机的墨头回到原点并向下移动一行,移动的距离为第一数据点阵的行距,继续其他行数据的打印,直到第一数据点阵的每行数据打印完毕。
这里,第一距离为子行的行数减1后与横向水平移动墨头的距离dh的乘积,例如,在第二数据点阵的第1个子行打印前,需要驱动打印机墨头向右移动的第一距离为(1-1)*dh=0;在第2个子行打印前,需要驱动打印机墨头向右移动的第一距离为(2-1)*dh=dh。
如图2B所示,为本实施例图像完整打印的流程图,具体如下:
步骤S01:按照分辨率HH将待打印图像进行栅格化处理,生成第一数据点阵;
步骤S02:将第一数据点阵的第i行数据进行h次象素抽取,每次抽取后将抽取到的象素组成一个子行,h次象素抽取后共组成h个子行,将这h个子行构成第二数据点阵,每个子行包含的象素数为I/h,其中,i为1到Q的整数,初始值取1,Q为第一数据点阵的行数;
步骤S03:驱动打印机墨头回到原点并向右移动(j-1)*dh距离,j为1到h的整数,初始值取1;
步骤S04:将所述第二数据点阵的第j个子行输出给打印机进行打印;
在将子行输出时,可以按照子行的先后顺序进行输出,也可以不按照该顺序随机输出,但需要保证每次输出的子行不重复。
步骤S05:判断所述第二数据点阵的子行是否全部打印完毕,即判断j的取值是否为h,若是,则到步骤S06;否则,将j的值加1,返回步骤S03继续打印其他子行;
步骤S06:驱动打印机墨头回到原点并向下移动一行;
步骤S07:判断第一数据点阵是否全部打印完毕,即判断i的值是否为Q,若是,则图像打印完成,退出本流程;否则,将i的值加1,返回步骤S02。
实施例二:
本实施例中,将打印图像的纵向分辨率由LV提高到HV,其中,LV为打印机的纵向分辨率,HV为LV的v倍,并且:v=(1/dv)/LV,dv为打印机纵向移动墨头的距离,dv=1/HV。本发明将打印图像的纵向分辨率由LV提高到HV,其实现思想是:假设打印机的墨头喷孔数为N,通常打印机一次扫描同时打印N行数据,这N行数据之间的距离为1/LV,由于纵向移动墨头的距离为dv,是原数据点阵行间距的v分之一,因此可以通过数据点阵拆分的方法使得在纸张原来第m行象素的位置上打印第(m-1)*v+1行数据,即在每两个相邻行之间均匀插入v-1行,就可实现纵向分辨率从LV提高到HV。如图3A所示,具体包括如下步骤:
步骤30:按照纵向高分辨率(HV)将待打印图像进行栅格化处理,生成第一数据点阵;
步骤31:根据纵向高分辨率(HV)与纵向低分辨率(LV)的倍数将所述第一数据点阵进行行数据抽取,将抽取的行数据作为第二数据点阵;
具体的,对于所述第一数据点阵的每N*v行数据,进行v次数据抽取,每次抽取后将抽取到的行数据构成一个第二数据点阵,具体在进行数据抽取时,从所述N*v行的每v行数据中抽取一行数据,本次共可抽取到N行数据,因此第二数据点阵是行数为N的数据点阵。
步骤32:将所述第二数据点阵输出给具有纵向低分辨率(LV)的打印机进行打印。
将上一步骤中v次抽取构成的第二数据点阵输出给打印机进行打印,并且,一个第二数据点阵打印完成后,驱动打印机墨头向下移动dv距离,进行下一个第二数据点阵的打印,如此循环,直到v个第二数据点阵全部打印完毕。
v个第二数据点阵全部打印完毕后,驱动打印机墨头向下移动第二距离,进行下一个N*v行数据的抽取打印,直到第一数据点阵全部打印完毕。
所述第二距离为墨头喷头数与分辨率倍数和纵向移动墨头距离的乘积,即N*v*dv。
如图3B所示,为本实施例图像完整打印的流程图,具体如下:
步骤S11:按照分辨率HV将待打印图像进行栅格化处理,生成第一数据点阵;
步骤S12:缓冲所述第一数据点阵的第i个N*v行数据,其中,i为1到Q的整数,初始值取1;Q的取值如下:第一数据点阵的行数除以N*v,若余数为0,则Q的取值为计算所得的商值;若余数不为0,则Q的取值为计算所得的商值再加1;
步骤S13:从缓冲数据的每v行抽取一行数据,共抽取N行数据;
在从每v行抽取一行数据时,要按照行序进行抽取,比如,第一次抽取时抽取每个v行数据的第一行数据,第二次抽取时抽取每个v行数据的第二行数据,以此类推,直到第v次抽取时抽取每个v行数据的第v行数据。
步骤S14:将抽取到的N行数据输出给打印机进行打印;
步骤S15:驱动打印机墨头向下移动dv距离;
步骤S16:判断缓冲数据是否全部打印完毕,即是否进行了v次数据抽取,若是,则到步骤S17;否则,返回步骤S13继续进行数据抽取和打印;
步骤S17:驱动打印机墨头向下移动N*v*dv距离;
步骤S18:判断第一数据点阵是否全部打印完毕,即判断i的值是否为Q,若是,则图像打印完成,退出本流程;否则,将i的值加1,返回步骤S12。
需要说明的是,由于每次需要缓冲处理N*v行数据,因此若第一数据点阵的行数不为N*v的整数倍,则需要在第一数据点阵的后面补充空白行,使得补充空白行后的第一数据点阵的行数为N*v的整数倍。
实施例三:
本实施例中,同时将打印图像的横向分辨率由LH提高到HH,纵向分辨率由LV提高到HV,其中,LH为打印机的横向分辨率,HH为LH的h倍,并且:h=(1/dh)/LH,dh为打印机横向移动墨头的距离,dh=1/HH。LV为打印机的纵向分辨率,HV为LV的v倍,并且:v=(1/dv)/LV,dv为打印机纵向移动墨头的距离,dv=1/HV。N为打印机的墨头喷孔数.如图4A所示,具体包括如下步骤:
步骤40:按照横向高分辨率HH和纵向高分辨率HV将待打印图像进行栅格化处理,生成第一数据点阵;
步骤41:根据纵向高分辨率与纵向低分辨率的倍数将所述第一数据点阵进行行数据抽取,将抽取的行数据作为第三数据点阵;根据横向高分辨率与横向低分辨率的倍数将第三数据点阵拆分为多个第二数据点阵;
具体的,首先,对于第一数据点阵的每N*v行数据,进行v次数据抽取,每次抽取后将抽取到的行数据构成第三数据点阵,具体在进行数据抽取时,从所述N*v行的每v行数据中抽取一行数据;
然后,将第三数据点阵进行h次数据抽取,每次抽取后将构成的子行组成一个第二数据点阵;所述数据抽取方法为:从所述第三数据点阵的每行数据选取多个象素,每选取的多个象素构成一个子行,并且选取时从行数据的每h个象素中取一个象素;
步骤42:将所述第二数据点阵输出给具有横向低分辨率(LH)和纵向低分辨率(LV)的打印机进行打印;
具体的,驱动打印机墨头从原点向右移动第一距离,将一个第二数据点阵输出给所述打印机进行打印,一次扫描打印N行,该第二数据点阵打印完成后,驱动打印机墨头从原点向右移动第一距离,继续其他第二数据点阵的打印,直到h个第二数据点阵,即一个第三数据点阵打印完成后,驱动打印机墨头回到原点并向下移动dv距离,继续其他第三数据点阵的打印,直到从N*v行数据抽取构成的v个第三数据点阵全部打印完成;所述v个第三数据点阵打印完成即所述N*v行数据打印后,驱动打印机墨头向下移动第二距离,继续下一个N*v行数据的打印,直到所述第一数据点阵全部打印完毕。
所述第一距离为当前第二数据点阵个数减1后与横向水平移动墨头的距离dh的乘积,例如,在第三数据点阵的第1个第二数据点阵打印前,需要驱动打印机墨头向右移动的第一距离为(1-1)*dh=0;在第2个第二数据点阵打印前,需要驱动打印机墨头向右移动的第一距离为(2-1)*dh=dh;所述第二距离为墨头喷头数与纵向分辨率倍数和纵向移动墨头距离的乘积,即N*v*dv。
以上步骤40~步骤42是所述第一数据点阵的行数为N*v的整数倍、并且所述第一数据点阵的行数据所包含的象素个数为h的整数倍的情况,还包括一下三种情况:第一种,所述第一数据点阵的行数不为N*v的整数倍、并且所述第一数据点阵的行数据所包含的象素个数不为h的整数倍;第二种,所述第一数据点阵的行数不为N*v的整数倍、并且所述第一数据点阵的行数据所包含的象素个数为h的整数倍;第三种,所述第一数据点阵的行数为N*v的整数倍、并且所述第一数据点阵的行数据所包含的象素个数不为h的整数倍。
对于所述第一数据点阵的行数不为N*v的整数倍、并且所述第一数据点阵的行数据所包含的象素个数不为h的整数倍的情况,具体实现方法如下:
首先,按照横向高分辨率HH和纵向高分辨率HV将待打印图像进行栅格化处理,生成第一数据点阵。然后,给所述第一数据点阵补充空白行,补充空白行后的第一数据点阵的行数为N*v的整数倍;给所述第一数据点阵的行数据补充空白象素,补充空白象素后的行数据所包含的象素个数为h的整数倍。接下来,根据纵向高分辨率与纵向低分辨率的倍数将所述第一数据点阵进行行数据抽取,将抽取的行数据作为第三数据点阵;根据横向高分辨率与横向低分辨率的倍数将第三数据点阵拆分为多个第二数据点阵,具体可参见步骤41。最后,将所述第二数据点阵输出给具有横向低分辨率(LH)和纵向低分辨率(LV)的打印机进行打印,具体可参见步骤42。
对于所述第一数据点阵的行数不为N*v的整数倍、并且所述第一数据点阵的行数据所包含的象素个数为h的整数倍的情况,具体实现方法如下:
首先,按照横向高分辨率HH和纵向高分辨率HV将待打印图像进行栅格化处理,生成第一数据点阵。然后,给所述第一数据点阵补充空白行,补充空白行后的第一数据点阵的行数为N*v的整数倍。接下来,根据纵向高分辨率与纵向低分辨率的倍数将所述第一数据点阵进行行数据抽取,将抽取的行数据作为第三数据点阵;根据横向高分辨率与横向低分辨率的倍数将第三数据点阵拆分为多个第二数据点阵,具体可参见步骤41。最后,将所述第二数据点阵输出给具有横向低分辨率(LH)和纵向低分辨率(LV)的打印机进行打印,具体可参见步骤42。
对于所述第一数据点阵的行数为N*v的整数倍、并且所述第一数据点阵的行数据所包含的象素个数不为h的整数倍的情况,具体实现方法如下:
首先,按照横向高分辨率HH和纵向高分辨率HV将待打印图像进行栅格化处理,生成第一数据点阵。然后,给所述第一数据点阵的行数据补充空白象素,补充空白象素后的行数据所包含的象素个数为h的整数倍。接下来,根据纵向高分辨率与纵向低分辨率的倍数将所述第一数据点阵进行行数据抽取,将抽取的行数据作为第三数据点阵;根据横向高分辨率与横向低分辨率的倍数将第三数据点阵拆分为多个第二数据点阵,具体可参见步骤41。最后,将所述第二数据点阵输出给具有横向低分辨率(LH)和纵向低分辨率(LV)的打印机进行打印,具体可参见步骤42。
如图4B所示,为本实施例图像完整打印的流程图,具体如下:
步骤S21:按照横向分辨率HH和纵向分辨率HV将待打印图像进行栅格化处理,生成第一数据点阵;
步骤S22:缓冲所述第一数据点阵的第i个N*v行数据,其中,i为1到Q的整数,初始值取1;Q的取值如下:第一数据点阵的行数除以N*v,若余数为0,则Q的取值为计算所得的商值;若余数不为0,则Q的取值为计算所得的商值再加1;
步骤S23:从缓冲数据的每v行抽取一行数据,共抽取N行数据,将抽取到的N行数据构成一个第三数据点阵;
在从每v行抽取一行数据时,要按照行序进行抽取,比如,第一次抽取时抽取每个v行数据的第一行数据,第二次抽取时抽取每个v行数据的第二行数据,以此类推,直到第v次抽取时抽取每个v行数据的第v行数据。
步骤S24:将所述第三数据点阵进行第j次数据抽取,具体抽取时,从所述第三数据点阵的每行数据选取I/h个象素,每I/h个象素构成一个子行,由于第三数据点阵的行数为N,因此共构成N个子行,将N个子行构成一个第二数据点阵。其中,j为1到h的整数,初始值取1;
在从第三数据点阵的行数据选取象素时,具体是从行数据的每h个象素中取一个象素,共可选取I/h个象素。I为第一数据点阵中每行数据包含的象素个数。
步骤S25:驱动打印机墨头从原点向右移动(j-1)*dh距离;
步骤S26:将所述第二数据点阵输出给打印机进行打印;
在所述抽取和打印时,可以按照顺序进行抽取和打印,比如,第一次抽取时抽取每h个数据的第一个数据,向右移动(1-1)*dh距离即不右移就打印,第二次抽取时抽取每h个数据的第二个数据,向右移动(2-1)*dh距离后打印,以此类推,直到第h次抽取时抽取每h个数据的第h个数据,向右移动(h-1)*dh距离后打印。也可以不按照该顺序,但需要保证每次抽取不重复及向右移动的距离正确。
步骤S27:判断所述第三数据点阵是否打印完毕,即判断j的取值是否为h,若是,则到步骤S28;否则,将j的值加1,返回步骤S24继续进行数据抽取和打印;
步骤S28:驱动打印机墨头下移dv距离;
步骤S29:判断缓冲数据是否全部打印完毕,若是,则到步骤S30;否则,返回步骤S23继续进行数据抽取和打印;
步骤S30:驱动打印机墨头向下移动N*v*dv距离;
步骤S31:判断第一数据点阵是否全部打印完毕,即判断i的值是否为Q,若是,则图像打印完成,退出本流程;否则,将i的值加1,返回步骤S22;
实施例四:
本实施例中,同时将打印图像的横向分辨率由LH提高到HH,纵向分辨率由LV提高到HV,其中,LH为打印机的横向分辨率,HH为LH的h倍,并且:h=(1/dh)/LH,dh为打印机横向移动墨头的距离,dh=1/HH。LV为打印机的纵向分辨率,HV为LV的v倍,并且:v=(1/dv)/LV,dv为打印机纵向移动墨头的距离,dv=1/HV。N为打印机的墨头喷孔数.如图5A所示,具体包括如下步骤:
步骤50:按照横向高分辨率HH和纵向高分辨率HV将待打印图像进行栅格化处理,生成第一数据点阵;
步骤51:在第一数据点阵前补充z*v行空白数据;其中,z为大于v并且小于N/2的质数,z的取值越大,打印的速度越快;
步骤52:根据纵向高分辨率与纵向低分辨率的倍数将所述第一数据点阵进行行数据抽取,将抽取的行数据作为第三数据点阵;根据横向高分辨率与横向低分辨率的倍数将第三数据点阵拆分为多个第二数据点阵;
具体的,首先,对于第一数据点阵的每N*v行数据,进行v次行数据抽取,每次抽取后将抽取到的行数据构成第三数据点阵,具体在进行数据抽取时,从所述N*v行的每v行数据中抽取一行数据;
然后,将第三数据点阵进行h次列数据抽取,每次抽取后将构成的子行组成一个第二数据点阵;所述数据抽取方法为:从所述第三数据点阵的每行数据选取多个象素,每选取的多个象素构成一个子行,并且选取时从行数据的每h个象素中取一个象素;
步骤53:将所述第二数据点阵输出给具有横向低分辨率(LH)和纵向低分辨率(LV)的打印机进行打印;
具体的,驱动打印机墨头从原点向右移动第一距离,将一个第二数据点阵输出给所述打印机进行打印,一次扫描打印N行,该第二数据点阵打印完成后,驱动打印机墨头回到原点并向下移动第三距离,再向右移动第一距离,继续其他第二数据点阵的打印,直到所述第一数据点阵全部打印完毕。
所述第一距离为j减1后与横向水平移动墨头的距离dh的乘积,即(j-1)*dh.j的取值为1到h,初始值为1,每打印一次第二数据点阵后j加1,j如果大于h,则等于1.所述第三距离为z*dv。
以上步骤50~步骤53是所述第一数据点阵的行数据所包含的象素个数为h的整数倍的情况,在所述第一数据点阵的行数据所包含的象素个数不为h的整数倍时,具体实现方法如下:
首先,按照横向高分辨率HH和纵向高分辨率HV将待打印图像进行栅格化处理,生成第一数据点阵。然后,在第一数据点阵前补充z*v行空白数据;给所述第一数据点阵的行数据补充空白象素,补充空白象素后的行数据所包含的象素个数为h的整数倍。接下来,根据纵向高分辨率与纵向低分辨率的倍数将所述第一数据点阵进行行数据抽取,将抽取的行数据作为第三数据点阵;根据横向高分辨率与横向低分辨率的倍数将第三数据点阵拆分为多个第二数据点阵,具体可参见步骤52。最后,将所述第二数据点阵输出给具有横向低分辨率(LH)和纵向低分辨率(LV)的打印机进行打印,具体可参见步骤53。
如图5B所示,为本实施例图像完整打印的流程图,具体如下:
步骤S41:按照横向分辨率HH和纵向分辨率HV将待打印图像进行栅格化处理,生成第一数据点阵;
步骤S42:在第一数据点阵前补充z*v行空白数据;
步骤S43:缓冲所述第一数据点阵从s行开始的N*v行数据,其中,s为1到第一数据点阵总行数的整数,初始值取1;
若第一数据点阵总行数减s的结果小于N*v,则给第一数据点阵后面补充适当的空白行,使得从s行开始能够缓冲N*v行数据.
步骤S44:从缓冲数据的每v行抽取一行数据,共抽取N行数据,将抽取到的N行数据构成一个第三数据点阵;
步骤S45:将所述第三数据点阵进行第j次数据抽取,具体抽取时,从所述第三数据点阵的每行数据选取I/h个象素,每I/h个象素构成一个子行,由于第三数据点阵的行数为N,因此共构成N个子行,将N个子行构成一个第二数据点阵。其中,j为1到h的整数,初始值取1;
在从第三数据点阵的行数据选取象素时,具体是从行数据的每h个象素中取一个象素,共可选取I/h个象素。I为第一数据点阵中每行数据包含的象素个数。
在抽取和打印时,要按照顺序进行抽取和打印;
步骤S46:驱动打印机墨头回到原点并向右移动(j-1)*dh距离;
步骤S47:将所述第二数据点阵输出给打印机进行打印,一次输出N行数据;
步骤S48:驱动打印机墨头回到原点并向下移动z*dv距离;
步骤S49:j加1,若j>h,则j=1;同时,s加v,表示第一数据点阵中有v行数据打印完毕;
步骤S50:判断第一数据点阵是否打印完毕,即判断s是否大于第一数据点阵总行数,若是,则图像打印完成,退出本流程;否则,返回步骤S43继续进行数据抽取和打印。
本发明中,为了提高打印效率,不必在待打印图像全部栅格化后再开始拆分、打印,可以一边栅格化,一边拆分和打印,即栅格化、拆分和打印可以并行执行,但需要缓冲足够行数的数据点阵,使打印连续进行,从而提高整个打印过程的速度。
本文中的待打印图像可以是多色面图像,栅格化处理后生成多个第一数据点阵,其中每个色面对应一个第一数据点阵,适用的打印机为彩色打印机;待打印图像还可以是单色面点阵,栅格化处理后生成一个第一数据点阵,适用的打印机为黑白打印机。
本发明实施例还提供一种图像打印设备,该设备包括:
栅格化处理单元60,用于按照第一分辨率将待打印图像进行栅格化处理,生成第一数据点阵;
点阵拆分单元,用于根据所述第一分辨率与第二分辨率的倍数拆分所述第一数据点阵,生成第二数据点阵;
输出打印单元62,用于将所述第二数据点阵输出给具有所述第二分辨率的打印机进行打印。
参见图6A,作为第一实施例,所述点阵拆分单元为:
第一拆分单元70,用于在所述第一分辨率为第一横向分辨率,所述第二分辨率为第二横向分辨率,并且所述第一横向分辨率为所述第二横向分辨率的整数倍时,根据所述第一横向分辨率与所述第二横向分辨率的倍数将所述第一数据点阵的每行数据拆分为第二数据点阵。
所述第一拆分单元70包括:
第一抽取单元,用于将所述第一数据点阵的行数据进行h次象素抽取,每次抽取后将抽取到的象素组成一个子行;所述进行象素抽取的方法为:从所述行数据的每h个象素中抽取一个象素;
第一组合单元,用于将所述每个子行构成第二数据点阵;
所述输出打印单元62包括:
第一打印单元71,用于将所述第二数据点阵的各个子行逐行输出给所述打印机进行打印,并且每个子行打印前驱动打印机墨头从原点向右移动第一距离,所述各个子行打印完成后驱动打印机墨头回到原点并向下移动一行;所述第一距离为所述子行的行数减1后与设置的dh的乘积;所述h为所述第一横向分辨率与所述第二横向分辨率的倍数,所述dh为设置的横向移动墨头的距离,为所述第一横向分辨率的倒数。
所述第一拆分单元70包括:
第一补充单元,用于在所述行数据所包含的象素个数不为所述第一横向分辨率与所述第二横向分辨率的倍数的整数倍时,给所述行数据的后面补充空白象素,补充空白象素后的行数据所包含的象素个数为所述倍数的整数倍;
第二抽取单元,用于将所述第一数据点阵的行数据进行h次象素抽取,每次抽取后将抽取到的象素组成一个子行;所述进行象素抽取的方法为:从所述行数据的每h个象素中抽取一个象素;
第二组合单元,用于将所述每个子行构成第二数据点阵;
所述输出打印单元62包括:
第二打印单元72,用于将所述第二数据点阵的各个子行逐行输出给所述打印机进行打印,并且每个子行打印前驱动打印机墨头从原点向右移动第一距离,所述各个子行打印完成后驱动打印机墨头回到原点并向下移动一行;所述第一距离为所述子行的行数减1后与设置的dh的乘积;所述h为所述第一横向分辨率与所述第二横向分辨率的倍数,所述dh为设置的横向移动墨头的距离,为所述第一横向分辨率的倒数。
参见图6B,作为第二实施例,所述点阵拆分单元为:
第二拆分单元73,用于在所述第一分辨率为第一纵向分辨率,所述第二分辨率为第二纵向分辨率,并且所述第一纵向分辨率为所述第二纵向分辨率的整数倍时,根据所述第一纵向分辨率与所述第二纵向分辨率的倍数将所述第一数据点阵进行行数据抽取,将抽取的行数据作为所述第二数据点阵。
所述第二拆分单元73包括:
第三抽取单元,用于对于所述第一数据点阵的每N*v行数据,进行v次数据抽取,并且,在进行数据抽取时,从所述N*v行的每v行数据中抽取一行数据;所述v为所述第一纵向分辨率与所述第二纵向分辨率的倍数,所述N为所述打印机的墨头喷孔数;
第三组合单元,用于在所述每次抽取后将抽取到的行数据构成第二数据点阵;
所述输出打印单元62包括:
第三打印单元74,用于将所述v次抽取构成的第二数据点阵输出给打印机进行打印,并且,每个第二数据点阵打印完成后,驱动打印机墨头向下移动设置的距离dv;所述v次抽取构成的第二数据点阵打印完成后,驱动打印机墨头向下移动第二距离;所述第二距离为N*v*dv;所述dv为设置的纵向移动墨头的距离,为所述第一纵向分辨率的倒数。
所述第二拆分单元73包括:
第二补充单元,用于在所述第一数据点阵的行数不为N*v的整数倍时,给所述第一数据点阵的后面补充空白行,补充空白行后的第一数据点阵的行数为N*v的整数倍;
第四抽取单元,用于对于所述第一数据点阵的每N*v行数据,进行v次数据抽取,并且,在进行数据抽取时,从所述N*v行的每v行数据中抽取一行数据;所述v为所述第一纵向分辨率与所述第二纵向分辨率的倍数,所述N为所述打印机的墨头喷孔数;
第四组合单元,用于在所述每次抽取后将抽取到的行数据构成第二数据点阵;
所述输出打印单元62包括:
第四打印单元75,用于将所述v次抽取构成的第二数据点阵输出给打印机进行打印,并且,每个第二数据点阵打印完成后,驱动打印机墨头向下移动设置的距离dv;所述v次抽取构成的第二数据点阵打印完成后,驱动打印机墨头向下移动第二距离;所述第二距离为N*v*dv;所述dv为设置的纵向移动墨头的距离,为所述第一纵向分辨率的倒数。
参见图6C,作为第三实施例,所述点阵拆分单元为:
第三拆分单元76,用于在所述第一分辨率包括第一横向分辨率和第一纵向分辨率,所述第二分辨率包括第二横向分辨率和第二纵向分辨率,并且所述第一横向分辨率为所述第二横向分辨率的整数倍,所述第一纵向分辨率为所述第二纵向分辨率的整数倍时,
根据所述第一纵向分辨率与所述第二纵向分辨率的倍数将所述第一数据点阵进行行数据抽取,将抽取的行数据组成第三数据点阵;
根据所述第一横向分辨率与所述第二横向分辨率的倍数将所述第三数据点阵的拆分为多个第二数据点阵。
所述第三拆分单元76包括:
第五抽取单元,用于对于所述第一数据点阵的每N*v行数据,进行v次数据抽取,并且,在进行数据抽取时,从所述N*v行的每v行数据中抽取一行数据;所述v为所述第一纵向分辨率与所述第二纵向分辨率的倍数,所述N为所述打印机的墨头喷孔数;
第五组合单元,用于在所述每次抽取后将抽取到的行数据构成第三数据点阵;
第六抽取单元,用于将所述第三数据点阵进行h次数据抽取;所述数据抽取方法为:从所述第三数据点阵的每行数据选取多个象素,每选取的多个象素构成一个子行,并且选取时从行数据的每h个象素中取一个象素;所述h为所述第一横向分辨率与所述第二横向分辨率的倍数;
第六组合单元,用于在每次抽取后将构成的子行组成第二数据点阵;
所述输出打印单元62包括:
第五打印单元77,用于将所述第三数据点阵拆分后的第二数据点阵逐个输出给所述打印机进行打印,每次打印N行,每个第二数据点阵打印前,驱动打印机墨头从本行原点向右移动第一距离;所述第三数据点阵打印完成后,驱动打印机墨头回到原点并向下移动dv距离;所述v次抽取构成的v个第三数据点阵全部打印完成后,驱动打印机墨头向下移动第二距离;所述第一距离为(当前第二数据点阵个数-1)*dh,所述第二距离为N*v*dv;所述dh为设置的横向移动墨头的距离,为所述第一横向分辨率的倒数;所述dv为设置的纵向移动墨头的距离,为所述第一纵向分辨率的倒数。
所述第三拆分单元76进一步包括:
第四补充单元,用于在所述第一数据点阵的行数不为N*v的整数倍时,给所述第一数据点阵的后面补充空白行,补充空白行后的第一数据点阵的行数为N*v的整数倍;若所述第一数据点阵的行数据所包含的象素个数不为h的整数倍,则给所述行数据的后面补充空白象素,补充空白象素后的行数据所包含的象素个数为h的整数倍。
所述第三拆分单元76包括:
第三补充单元,用于在所述第一数据点阵前补充z*v行空白数据;所述z为大于v并且小于N/2的质数;所述v为所述第一纵向分辨率与所述第二纵向分辨率的倍数;所述N为所述打印机的墨头喷孔数;
第七抽取单元,用于对于所述第一数据点阵的每N*v行数据,进行v次数据抽取,并且,在进行数据抽取时,从所述N*v行的每v行数据中抽取一行数据;
第七组合单元,用于在所述每次抽取后将抽取到的行数据构成第三数据点阵;
第八抽取单元,用于将所述第三数据点阵进行h次数据抽取;所述数据抽取方法为:从所述第三数据点阵的每行数据选取多个象素,每选取的多个象素构成一个子行,并且选取时从行数据的每h个象素中取一个象素;所述h为所述第一横向分辨率与所述第二横向分辨率的倍数;
第八组合单元,用于在每次抽取后将构成的子行组成第二数据点阵;
所述输出打印单元62包括:
第六打印单元78,用于将每个第二数据点阵逐个输出给所述打印机进行打印,一次打印N行,并且,每个第二数据点阵打印前,驱动打印机墨头从原点向右移动第一距离,一个第二数据点阵打印后,驱动打印机墨头回到原点并向下移动第三距离;所述第一距离为(当前第二数据点阵个数-1)*dh;所述第三距离为z*dv;所述dh为设置的横向移动墨头的距离,为所述第一横向分辨率的倒数;所述dv为设置的纵向移动墨头的距离,为所述第一纵向分辨率的倒数;
所述第三拆分单元76进一步包括:
第五补充单元,用于在所述第一数据点阵的行数据所包含的象素个数不为h的整数倍时,给所述行数据补充空白象素,补充空白象素后的行数据所包含的象素个数为h的整数倍。
所述栅格化处理单元处理的待打印图像可以是多色面图像,栅格化处理后生成多个第一数据点阵,其中每个色面对应一个第一数据点阵,适用的打印机为彩色打印机;待打印图像还可以是单色面点阵,栅格化处理后生成一个第一数据点阵,适用的打印机为黑白打印机。