一种热敏打印机灰度打印方法与流程

文档序号:11917401阅读:1247来源:国知局
一种热敏打印机灰度打印方法与流程

本发明涉及打印机技术领域,尤其涉及一种热敏打印机灰度打印方法。



背景技术:

打印机无非就是将人们的心中的想法通过一定的表现形式(包含文字、图像、形状等)用特定的介质呈现出来的机器。举个例子,热敏打印机就是将人们所想表达的图形和文字,通过热敏纸呈现出现。

票据打印机,按照打印方式可分为热敏、热转印、针式打印机。

热敏打印机工作原理是打印头上安装有半导体加热元件,打印头加热并接触热敏打印纸后就可以打印出需要的图案,其原理与热敏式传真机类似。图象是通过加热,在热敏纸的膜中产生化学反应而生成的。这种热敏打印机化学反应是在一定的温度下进行的。高温会加速这种化学反应。当温度低于60℃时,纸需要经过相当长,甚至长达几年的时间才能变成深色;而当温度为200℃时,这种反映会在几微秒内完成。所以要想使热敏打印机打印出图形和文字,就必须满足两个条件,热敏纸和高温。当前市面上的热敏打印机只能打印二值图,也就是说要么最黑要么白,打印图片效果差,不灵活。

现有技术中公开了一种“热敏打印机的灰度控制器”,见公开号为:CN201619297U,公开日为:2010-11-03的中国专利,公开了一种热敏打印机的灰度控制器,其与热敏打印头片相连,所述灰度控制器用以实现对热敏打印头片的灰度控制;所述灰度控制器包括微处理单元,和FPGA/CPLD单元;所述微处理单元用以控制打印数据的加热时间;所述FPGA/CPLD单元与微处理单元相连,用以精确地进行打印时间控制与时序控制。该实用新型同时结合了微处理单元的运算优势和FPGA/CPLD单元的快速反应及精确时间控制优势,实现多级灰度打印控制,节约硬件和软件成本。该实用新型采用的技术方案与本专利申请并不相同。



技术实现要素:

本发明要解决的技术问题,在于提供一种热敏打印机灰度打印方法,提高了热敏打印机灵活性,通过合理的数据处理压缩算法以及打印机双缓冲机制解决了灰度图片解析困难。

本发明是这样实现的:一种热敏打印机灰度打印方法,所述方法为:通过上位机对图像进行预处理,将图像转为热敏打印机需要灰度等级图像数据,热敏打印机端将上位机一行的灰度数据进行转换成多行二值图,然后通过控制加热等级和热敏打印机马达进纸速度将多行二值图打印成一行灰度图像。

进一步的,所述方法进一步具体为:上位机负责读取256级灰度图像进行数据压缩,将256级灰度图像分为热敏打印机需要的灰度等级图像数据;所述打印机端提供指令解析任务和打印任务;指令解析任务实现接收上位机下发的指令数据,并进行数据解析放入缓冲区;热敏打印机端将上位机一行的灰度数据进行转换成多行二值图;所述打印任务将存入缓冲区的数据进行打印,根据缓冲数据控制马达以及控制加热时间和等级将多行二值图打印成一行灰度图像。

进一步的,所述缓冲区为双缓冲区,当第一缓冲区为空闲时,指令解析处理后的数据放入第一缓冲区,当第一缓冲区不空闲,若第二缓冲区空闲,则将放入第二缓冲区中,若两个缓冲区都不空闲,则打印机正在打印缓冲内容,并且下个缓冲数据已经准备好了,此时指令解析任务阻塞;打印任务先打印第一缓冲区内容,第一缓冲区打印结束会将第一缓冲区设置为空闲状态,然后直接继续打印第二缓冲区数据,并且第一缓冲区一旦空闲指令解析任务又重新运行,准备下个数据放入第一缓冲区中,打印任务打印完第二缓冲区,这样不用等待直接进行打印第一缓冲区内容,能一直循环无间断的打印;

进一步的,上位机负责读取256级灰度图像,将256级灰度图像分为热敏打印机需要的四级灰度图像数据;四级灰度图像数据以2个bit表示一个像点,上位机读取256级灰度图像图片,一个字节表示一个灰度点,值的大小表示灰度等级0x00到0xFF,由于只需要分为四级灰度,需要将256级进行四等分,只需要取这个字节的前两位,相当于除以64,将4个字节数据合并成一个字节;故一个字节数据表示4个像素点,上位机发一个字节0x1B,第一个像素点级数由第7,6bit表示,其灰度级数为0,第二个像素点由第5,4bit表示,其灰度级数为1,第二个像素点由第3,2bit表示,其灰度级数为3,第二个像素点由第1,0bit表示,其灰度级数为4;

四级灰度图像数据中将数据转化的3行二值图像,即将2个字节的四级灰度图数据转成3个字节二值图数据放入缓存中;

四级灰度图像数据中,用1表示要加热点,0表示不加热点,3个字节二值图组成一行4级灰度图,先将第一行数据加载打印头,接着选通加热信号,打印头在对应的位置加热,到达设定时间后关闭加热选通信号,然后接着加载第二行二值数据,以此类推加载第三行二值数据,最后将3行二值数据打印完成后,这时控制马达,刚好让马达走完一个点行,这样这个点行就会有相应的灰度效果。

进一步的,所述方法:上位机负责读取256级灰度图像,将256级灰度图像分为热敏打印机需要的八级灰度图像数据;八级灰度图像数据以4个bit表示一个像素点,上位机发送一个字节数据表示2个像素点,每个字节的第0bit和第4bit保留,上位机发一个字节0x0A,第1个像素点级数由第7,6,5bit表示,第4bit保留,其灰度级数为0,第2个像素点由第3,2,1bit表示,其灰度级数为1;第2个像素点由第3,2,1bit表示,其灰度级数为1;第2个像素点由第3,2,1bit表示,第0bit保留,其灰度级数为5;

八级灰度图像数据中将数据转化的7行二值图像,即将4个字节的八级灰度图数据转成7个字节二值图数据放入缓存中。

本发明具有如下优点:本发明基于传统热敏打印机进行功能优化,提高了热敏打印机灵活性,通过合理的数据处理压缩算法以及打印机双缓冲机制解决了灰度图片解析困难,打印数据量大不好传输等问题,大大提高了打印效率,使得打印速度不会受数据量影响;灰度打印不仅可以打印人像、logo、风景等,在银行等行业类业务上还可以打印银行卡、二代证等。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明方法结构示意图。

图2为本发明双缓冲区处理数据的流程示意图。

图3为本发明3行二值数据加热点的示意图。

图4为本发明中打印后的多个点行灰度效果示意图。

具体实施方式

请参阅图1至图2所示,本发明的一种热敏打印机灰度打印方法,为了实现灰度打印,可以通过控制加热时间和加热次数来控制加热头对纸张的能量,因为图片数据量较大,而单片机资源以及数据传输速度有限,所有需要上位机对图像进行预处理,将图像转为热敏打印机需要灰度等级,这样才能提高打印质量和打印速度。打印机端将上位机一行的灰度数据进行转换成多行二值图,然后通过控制加热等级和热敏打印机马达进纸将这多行二值图打印成一行灰度图像。

所述方法进一步具体为:上位机负责读取256级灰度图像进行数据压缩,将256级灰度图像分为热敏打印机需要的灰度等级图像数据;所述打印机端提供指令解析任务和打印任务;指令解析任务实现接收上位机下发的指令数据,并进行数据解析放入缓冲区;热敏打印机端将上位机一行的灰度数据进行转换成多行二值图;所述打印任务将存入缓冲区的数据进行打印,根据缓冲数据控制马达以及控制加热时间和等级将多行二值图打印成一行灰度图像。

为了提高打印效率,提高mcu利用率,设计了双缓冲机制,所述缓冲区为双缓冲区,当第一缓冲区为空闲时,指令解析处理后的数据放入第一缓冲区,当第一缓冲区不空闲,若第二缓冲区空闲,则将放入第二缓冲区中,若两个缓冲区都不空闲,则打印机正在打印缓冲内容,并且下个缓冲数据已经准备好了,此时指令解析任务阻塞;打印任务先打印第一缓冲区内容,第一缓冲区打印结束会将第一缓冲区设置为空闲状态,然后直接继续打印第二缓冲区数据,并且第一缓冲区一旦空闲指令解析任务又重新运行,准备下个数据放入第一缓冲区中,打印任务打印完第二缓冲区后,指令解析任务早已将第一缓冲区数据放入缓冲中,这样不用等待直接进行打印第一缓冲区内容,这样可以一直循环无间断的打印。

如图3和图4所示,下面以四级灰度为例:

上位机负责读取256级灰度图像,将256级灰度图像分为热敏打印机需要的四级灰度图像数据;四级灰度图像数据以2个bit表示一个像点,上位机读取256级灰度图bmp图片,一个字节表示一个灰度点,值的大小表示灰度等级0x00到0xFF,因为只需要分为4级灰度,需要将256级4等分,所以只需要取这个字节的前两位,相当于除以64,可以将4个字节数据合并成一个字节。故一个字节数据可以表示4个像素点,如上位机发一个字节0x1B(00011011),第一个像素点级数由第7,6bit表示,其灰度级数为0,第二个像素点由第5,4bit表示,其灰度级数为1,第二个像素点由第3,2bit表示,其灰度级数为3,第二个像素点由第1,0bit表示,其灰度级数为4;

指令解析任务负责实现接收读取上位机下发的指令数据,并进行数据解析放入缓冲区。首先将上位机接收的指令进行处理,以4级灰度数据为例,先将数据分级处理,假如数据为0xE4(11100100),表示4个点,灰度等级分别为3、2、1、0;

四级灰度图像数据中将数据转化的3行二值图像,如表1(表1为两字节0xE4数据转换——4级灰度)所示,将8个点(2个字节)的4级灰度图数据(0xE4 0xE4),转成了3个字节(3行)二值图数据(0xEE 0xCC 0x88)放入缓存中,

表1

四级灰度图像数据中,用1表示要加热点,0表示不加热点,3个字节二值图组成一行4级灰度图,先将第一行数据加载打印头,接着选通加热信号,打印头在对应的位置加热,到达设定时间后关闭加热选通信号,然后接着加载第二行二值数据,以此类推,加载第三行二值数据,3行二值数据加热点如图3所示(这个加热点都是黑色的,该图3并不是带有色块的图),最后将3行二值数据打印完成后,这时控制马达,刚好让马达走完一个点行,这样这个点行就会有相应的灰度效果。整体放大后的多个点行效果大致如图4所示(图中黑色块为打印时的灰度图片,并不是色块图)。

另外,八级灰度图像数据也一样的原理:所述方法:上位机负责读取256级灰度图像,将256级灰度图像分为热敏打印机需要的八级灰度图像数据;八级灰度图像数据以4个bit表示一个像素点,上位机发送一个字节数据表示2个像素点,每个字节的第0bit和第4bit保留,如上位机发一个字节0x0A(00001010),,第1个像素点级数由第7,6,5bit表示,第4bit保留,其灰度级数为0,第2个像素点由第3,2,1bit表示,其灰度级数为1;第2个像素点由第3,2,1bit表示,其灰度级数为1;第2个像素点由第3,2,1bit表示,第0bit保留,其灰度级数为5;

八级灰度图像数据中将数据转化的7行二值图像,即将4个字节的八级灰度图数据转成7个字节二值图数据放入缓存中。

本发明中根据打印机的性能可以是1级灰度、2级灰度、3级灰度、4级灰度、5级灰度、6级灰度、7级灰度、8级灰度、9级灰度等等,该些灰度的处理方式原理类似,在此就不进行一一说明。

总之,本发明基于传统热敏打印机进行功能优化,提高了热敏打印机灵活性,通过合理的数据处理压缩算法以及打印机双缓冲机制解决了灰度图片解析困难,打印数据量大不好传输等问题,大大提高了打印效率,使得打印速度不会受数据量影响。灰度打印不仅可以打印人像、logo、风景等,在银行等行业类业务上还可以打印银行卡、二代证等。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1