应用于打印机的位图转换方法和打印机技术

技术编号:29463563 阅读:27 留言:0更新日期:2021-07-27 17:36
本申请公开了一种应用于打印机的位图转换方法和打印机,图转换方法包括以下步骤:取与第一位图对应的第一位图数据中第i行的位图数据,其中,i为整数,所述第一位图数据包括与所述第一位图的像素点对应的数据单元;对所述第i行的位图数据中的N个数据单元进行相或计算,得到第二位图数据的第i行的位图数据,其中,N为整数,并且N>1;将所述第二位图数据的第i行的位图数据写入位图缓存,得到转换后的第二位图数据。上述的应用于打印机的位图转换方法和打印机通过同时对一行位图数据的多个字节进行相或计算操作,显然极大地提高了位图转换速度。

【技术实现步骤摘要】
应用于打印机的位图转换方法和打印机
本公开属于图像处理领域,尤其是一种应用于打印机的位图转换方法和打印机。
技术介绍
本部分的陈述仅仅是提供了与本公开公开相关的
技术介绍
信息,不必然构成在先技术。在打印等多种领域,需要对图像进行转换处理。在一些情形下,存在降低图像的位深度的操作。在打印机领域中,需要将图像的位深度进行二值化处理,将多bit的位图转换为1bit的位图。具体而言,一般图像可以使用一个或者多个字节来存储每个像素的颜色信号,例如存储该像素的灰度值。以8bit的位图为例,图像的每个像素的灰度值使用8bit存储,需要降低该图像的位深,例如转换为1bit位图,即每个像素用1bit存储。这样保存的图像占用的存储空间更小,在某些场合下会发挥重大的作用。
技术实现思路
鉴于以上内容,有必要提供一种应用于打印机的位图转换方法和打印机,以提高位图转换的速度。本申请提供了一种应用于打印机的位图转换方法,包括以下步骤:获取与第一位图对应的第一位图数据中第i行的位图数据,其中,i为整数,所述第一位图数据包括与所述第一位图的像素点对应的数据单元;对所述第i行的位图数据中的N个数据单元进行相或计算,得到第二位图数据的第i行的位图数据,其中,N为整数,并且N>1;将所述第二位图数据的第i行的位图数据写入位图缓存,得到转换后的第二位图数据。优选地,对所述第i行的位图数据中的N个数据单元进行相或计算,其中N=8。优选地,对所述第i行的位图数据中的N个字节的数据进行相或计算包括:对所述第一位图数据的第i行的位图数据中从p地址开始的N个数据单元进行相或计算,得到第二位图数据的第i行的位图数据,其中,所述第i行的位图数据为一个字节,该字节中每个位对应于所述第二位图的一个像素点;在所述p地址增加N后,再次对存储于p+N指向的存储地址开始的N个字节的数据进行相或计算;对所述第i行的位图数据重复j次相或计算,得到所述第二位图数据,其中,j为整数。优选地,对所述第i行的位图数据中的8个字节的数据进行相或计算包括:通过下式计算8个字节的数据的相或计算得到第二位图数据的第i行的位图数据b:b=(*p++)&0x80|(*p++)&0x40|(*p++)&0x20|(*p++)&0x10|(*p++)&0x8|(*p++)&0x4|(*p++)&0x2|(*p++)&0x1,其中,(*p++)表示p地址存储的所述第i行的位图数据,并且每计算一次后,在p地址的基础上增加N。优选地,在获取第一位图数据中第i行的位图数据之后,还包括:对所述第一位图数据的第i行的位图数据中去除进行相或操作的j*N的个数据单元的剩余的数据逐个进行预设操作后,与相或操作得到位图数据存入所述位图缓存中,得到所述第二位图数据。优选地,将所述第一位图数据的各行的位图数据转换置于大于或者等于两线程并行处理。优选地,将所述第一位图数据的各行位图数据转换置于大于或者等于两线程并行处理包括:提供一用于存储当前处理的位图数据的行号变量;第一线程处理第i行的位图数据时,锁定一该行号变量,其中,该行号变量存储的行号为i;至少两个线程抢夺所述行号变量,以读取所述行号变量存储的行号以对该行号对应的位图数据进行处理。优选地,所述第二位图数据为对应于1bit位图的位图数据。优选地,对所述第二位图数据进行取反操作以对位图进行反色处理。本公开还提供了一种打印机,包括处理器和存储器,所述存储器用于存储位图数据,所述处理器对该位图数据执行所述的应用于打印机的位图转换方法。相较于现有技术,上述的应用于打印机的位图转换方法和打印机通过同时对一行位图数据的多个字节进行相或计算操作,相较于现有技术中对单个字节进行转换操作,显然极大地提高了位图转换速度。此外,由于每行的位图数据转换是独立的,可以使用多个线程同时对多行位图数据进行转换操作,可以进一步提高了位图转换的速度。附图说明为了更清楚地说明具体实施方式,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是打印机的结构示意图。图2是应用于打印机的位图转换方法的流程图。图3是位图与位图数据的对应关系图。图4是转换过程的示意图。如下具体实施方式将结合上述附图进一步说明本公开。具体实施方式为了能够更清楚地理解本公开的上述目的、特征和优点,下面结合附图和具体实施方式对本公开进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本公开,所描述的实施方式仅仅是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的
的技术人员通常理解的含义相同。本文中在说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本公开。在各实施例中,为了便于描述而非限制本公开,本公开专利申请说明书以及权利要求书中使用的术语"连接"并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。"上"、"下"、"下方"、"左"、"右"等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也相应地改变。本实施方式公开了一种应用于打印机的位图转换方法,用于将高bit的位图转换为低bit的位图,例如将8bit的位图转换为1bit的位图。此外,本实施方式提供的应用于打印机的位图转换方法可以应用于多种领域,尤其适合应用于打印机领域,需要将多bit位图(例如8/16/24/32bit位图)转换为1bit位图。图1是打印机的结构示意图。如图1所示,打印机包括处理器和存储器。处理器可以接收其他设备传输的高bit的位图数据,并且将位图数据存储存储器。在处理器接收到打印请求时,执行应用于打印机的位图转换方法,将高bit位图转换为低bit的位图,控制打印机完成打印任务。图2是应用于打印机的位图转换方法的流程图。如图2所示,该应用于打印机的位图转换方法包括步骤S201~S207。以下详细描述该应用于打印机的位图转换方法的各步骤。为了便于描述,本实施方式中,将转换前的位图称为第一位图,对应的位图数据称为第一位图数据;将转换后的位图称为第二位图,对应的位图数据称为第二位图数据。在步骤S201中,处理器接收第一位图数据。位图亦称为点阵图像或栅格图像,是由称作像素(图片元素)的单个点组成的。这些像素点可以进行不同的排列和本文档来自技高网
...

【技术保护点】
1.一种应用于打印机的位图转换方法,其特征在于,包括以下步骤:/n获取与第一位图对应的第一位图数据中第i行的位图数据,其中,i为整数,所述第一位图数据包括与所述第一位图的像素点对应的数据单元;/n对所述第i行的位图数据中的N个数据单元进行相或计算,得到第二位图数据的第i行的位图数据,其中,N为整数,并且N>1;/n将所述第二位图数据的第i行的位图数据写入位图缓存,得到转换后的第二位图数据。/n

【技术特征摘要】
1.一种应用于打印机的位图转换方法,其特征在于,包括以下步骤:
获取与第一位图对应的第一位图数据中第i行的位图数据,其中,i为整数,所述第一位图数据包括与所述第一位图的像素点对应的数据单元;
对所述第i行的位图数据中的N个数据单元进行相或计算,得到第二位图数据的第i行的位图数据,其中,N为整数,并且N>1;
将所述第二位图数据的第i行的位图数据写入位图缓存,得到转换后的第二位图数据。


2.如权利要求1所述的应用于打印机的位图转换方法,其特征在于,对所述第i行的位图数据中的N个数据单元进行相或计算,其中N=8。


3.如权利要求2所述的应用于打印机的位图转换方法,其特征在于,对所述第i行的位图数据中的N个字节的数据进行相或计算包括:
对所述第一位图数据的第i行的位图数据中从p地址开始的N个数据单元进行相或计算,得到第二位图数据的第i行的位图数据;
在所述p地址增加N后,再次对存储于p+N地址开始的N个字节的数据进行相或计算;
对所述第i行的位图数据重复j次相或计算,得到所述第二位图数据,其中,j为整数。


4.如权利要求3所述的应用于打印机的位图转换方法,其特征在于,对所述第i行的位图数据进行相或计算包括:
通过下式计算8个字节的数据的相或计算得到第二位图数据的第i行的位图数据b:
b=(*p++)&0x80|(*p++)&0x40|(*p++)&0x20|(*p++)&0x10|(*p++)&0x8|(*p++)&0x4|(*p++)&0x2|(*p++)...

【专利技术属性】
技术研发人员:解临凡赵亚南陈晓光
申请(专利权)人:中山市三藏电子科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1