CN102855645B - 用于页面的光栅化处理方法和装置 - Google Patents

用于页面的光栅化处理方法和装置 Download PDF

Info

Publication number
CN102855645B
CN102855645B CN201110184389.6A CN201110184389A CN102855645B CN 102855645 B CN102855645 B CN 102855645B CN 201110184389 A CN201110184389 A CN 201110184389A CN 102855645 B CN102855645 B CN 102855645B
Authority
CN
China
Prior art keywords
transparent
fragment
current
traversal
judge
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
Application number
CN201110184389.6A
Other languages
English (en)
Other versions
CN102855645A (zh
Inventor
陈恳
孟张伟
林好
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING BEIDA FOUNDER ELECTRONICS Co Ltd
New Founder Holdings Development Co ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University Founder Group Co Ltd
Priority to CN201110184389.6A priority Critical patent/CN102855645B/zh
Publication of CN102855645A publication Critical patent/CN102855645A/zh
Application granted granted Critical
Publication of CN102855645B publication Critical patent/CN102855645B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

本发明提供了一种用于页面的光栅化处理方法,包括:获取原始透明区域;对获取的位于原始透明区域之内的图元对象进行去透明处理,以生成最终透明区域;在光栅化处理中,对最终透明区域进行混色运算。本发明还提供了一种用于页面的光栅化处理装置。本发明提高了光栅化处理效率。

Description

用于页面的光栅化处理方法和装置
技术领域
本发明涉及光栅图像处理技术领域,具体而言,涉及用于页面的光栅化处理方法和装置。
背景技术
PDF目前已成为诸多为电子文档格式中应用最为广泛的一种,PDF格式规范从最初推出的1.0到现在为止已经历了多个版本的更迭,其中最关键的变革出现在1.4版。从这个版本开始,PDF规范引入了透明成像模型,这一模型与之前的不透明成像模型有着本质上的区别。在透明成像模型中,每一个文字、图形或图像等图元对象(可简称为图元)放入当前页面时,都不能再像在不透明成像模型中那样简单地使用当前颜色值取代其对应的页面背景区域,而是必须将图元对象本身的颜色值与对应背景区域的颜色值进行混色运算,得到的结果作为新的当前页面区域。由于若干图元对象可以包成一个透明组进行描述,而透明组内部又允许嵌套透明组,这样,一个PDF中的透明描述就有可能非常复杂,在对其进行光栅化处理时也非常消耗***资源;更由于与透明混色运算相关的参数都是基于点阵像素级的,即对于不同像素而言,这些参数的取值可能是不一样的,这就需要针对所有像素逐一进行存储和计算,并且所有点阵像素级的透明混色运算必须是至少基于8位颜色深度的,如此将导致数据量的极度膨胀。因而总体来看,随着页面幅度的增大以及设备分辨率的提高,透明页面的光栅化处理的效率通常会急剧下降。
相关技术提供了一种改进的方法,将含有透明对象的页面进行分段光栅化处理,对于不含透明对象的页面段,根据从前的不透明成像模型生成页面段点阵;对于含有透明对象的页面段,采取完全基于点阵像素的方式进行透明混色运算,生成最终的8位深度的页面段点阵。这种将页面划分为不透明段和透明段分别进行光栅化处理的方法,可以使透明对象所占段较少的透明页面在处理效率上得到明显的提升,然而对于透明对象虽不大却跨据较多段的情况就不太起作用了。
另一种改进的方法是将含有透明对象的页面进行分块光栅化处理,分段是在一个方向(通常是竖直方向)进行划分,分块则是在竖直和水平两个方向上进行划分,分块之后,页面被划分为“不透明块”和“透明块”等一系列页面块,对于“不透明块”,可以按照从前的不透明成像模型生成页面块点阵,对于“透明块”,则采取基于点阵像素的方式进行透明混色运算,生成最终的8位深度的页面段点阵。这种将页面划分为“不透明块”和“透明块”分别进行光栅化处理的方法,可以使透明对象跨段较多的透明页面在处理效率上得到明显的提升,然而,当页面上的透明对象较多时,即使在“透明块”内部再细分为“简单透明块”(单一颜色值或仅有两种颜色值)和“复杂透明块”(两种以上颜色值)进行处理以在一定程度上缓解点阵像素级透明混色运算带来的巨大数据量压力,但由于8位颜色深度的不可降低,因而仍然面临极大的数据量处理,使得内存开销巨大,从而极大地降低透明页面光栅化的效率。
综上所述,现有的对于透明页面的基于点阵像素的光栅化处理方法,数据处理量非常大,尤其对于页面尺寸较大、透明区域较多、设备分辨率较高的情况处理效率非常低下。
发明内容
本发明旨在提供一种用于页面的光栅化处理方法和装置,以解决现有技术处理效率较低的问题。
在本发明的实施例中,提供了一种用于页面的光栅化处理方法,包括:获取原始透明区域;对获取的位于原始透明区域之内的图元对象进行去透明处理,以生成最终透明区域;在光栅化处理中,对最终透明区域进行混色运算。
在本发明的实施例中,提供了一种用于页面的光栅化处理装置,包括:获取模块,用于获取原始透明区域;去透明模块,用于对获取的位于原始透明区域之内的图元对象进行去透明处理,以生成最终透明区域;运算模块,用于在光栅化处理中,对最终透明区域进行混色运算。
上述实施例的用于页面的光栅化处理方法和装置因为确定了最终透明区域,且仅对透明区域进行混色运算,所以降低了运算量,提高了光栅化处理效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明实施例的用于页面的光栅化处理方法的流程图;
图2示出了根据本发明优选实施例的对获取的位于原始透明区域之内的图元对象进行去透明处理的流程图;
图3示出了根据本发明优选实施例的确定当前分块中的当前图元透明轮廓区域的流程图;
图4示出了根据本发明优选实施例的处理当前图元对象的透明轮廓区域的流程图;
图5示出了根据本发明优选实施例的按页面分块处理当前图元对象的透明轮廓区域的流程图;
图6示出了根据本发明优选实施例的处理当前图元对象是复杂透明的情况的流程图;
图7示出了根据本发明优选实施例的处理当前图元对象是不透明的情况的流程图;
图8示出了根据本发明优选实施例的处理当前图元对象是简单透明且当前图元对象是图形类型的情况的流程图;
图9示出了根据本发明优选实施例的处理当前图元对象是简单透明且当前图元对象是图像类型的情况的流程图;
图10示出了根据本发明实施例的用于页面的光栅化处理装置的示意图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1示出了根据本发明实施例的用于页面的光栅化处理方法的流程图,包括:
步骤S10,从获取原始透明区域;
步骤S20,对获取的位于原始透明区域之内的图元对象进行去透明处理,以生成最终透明区域;
步骤S30,在光栅化处理中,对最终透明区域进行混色运算。
本实施例中利用对象区域的处理确定了最终透明区域,且仅对透明区域进行混色运算,所以相对于现有技术,显著减少了需要计算的数据量,从而降低了运算量,提高了光栅化处理效率。
本发明的一个优选实施例提供了页面原始透明区域的确定方案,包括以下步骤:
在扫描原始指令文件生成中间指令文件的同时,对具有透明属性的图元对象所占轮廓区域进行记录,分别合并存入对应的页面分块的中间指令文件中,最终确定出整个页面上所有透明图元对象占据的区域,称之为页面的原始透明区域。
页面原始透明区域并不是精确的页面最终透明区域,只是一个大致的轮廓区域,因而其生成并不需消耗太多时间,尤其在最终透明区域在整个页面所占比例较小的情况下,将“降透明处理”限定在原始透明区域可以极大地提高处理的效率。
图2示出了根据本发明优选实施例的对获取的位于原始透明区域之内的图元对象进行去透明处理的流程图,包括:
2.1-2.4)确定当前分块中的当前图元透明轮廓区域;
2.4.4.2-2.4.4.4)根据当前图元对象的透明属性进行相应的处理。
图3示出了根据本发明优选实施例的确定当前分块中的当前图元透明轮廓区域的流程图。本优选实施例通过生成碎片链表(即一种具有链接结构的碎片列表),从而提高了数据处理效率,具体包括以下步骤:
步骤S310,确定页面原始透明区域,记录到中间指令文件中;
步骤S320,扫描中间指令文件,对位于原始透明区域之内的图元对象分类进行轮廓区域求交处理,生成图形或图像类型的碎片链表;
步骤S330,利用碎片链表记录页面的最终透明区域。
图4示出了根据本发明优选实施例的处理当前图元对象的透明轮廓区域的流程图,通过扫描中间指令文件,对于顺序取出的每一个图元对象,作如下处理:
2.1)获得当前图元对象所占的轮廓区域,记为Ao,o为图元对象的索引;
2.2)设置当前图元对象的相关属性,包括对象ID、对象类型、颜色信息和透明组信息;
2.3)若当前图元对象位于透明组内,则将Ao相对于透明组的坐标转换为物理页面坐标,如果当前图元对象不位于透明组内,则本身就是物理页面坐标,无需做转换处理;
2.4)处理当前图元对象的透明轮廓区域。
图5示出了根据本发明优选实施例的按页面分块处理当前图元对象的透明轮廓区域的流程图,包括以下步骤:
2.4.1)将Ao与页面原始透明区域求交,若交集区域非空,则将交集区域设置为新的Ao;
2.4.2)将当前图元对象保存到图元对象列表中;
2.4.3)确定与Ao有交集的页面分块的起止索引号;即确定Ao在哪些页面分块中。
然后,可以顺序遍历上述交集非空的页面分块,将Ao与页面分块中的原始透明区域求交,若交集区域非空,则如图2所示,作如下处理:
2.4.4.1)将交集区域设置为Ao在当前页面分块k中的值,记为Ao-k,k为页面分块的索引;
2.4.4.2)处理当前图元对象是复杂透明的情况;
2.4.4.3)处理当前图元对象是不透明的情况;
2.4.4.4)处理当前图元对象是简单透明的情况,其中又分为两种情况:
2.4.4.4.1)处理当前图元对象是简单透明且当前图元对象是图形类型的情况;
2.4.4.4.2)处理当前图元对象是简单透明且当前图元对象是图像类型的情况。
如图6所示2.4.4.2)对于当前图元对象是复杂透明的情况,作如下处理:
2.4.4.2.0)遍历当前页面分块k中的碎片链表,当前碎片的轮廓区域记为Af-k,f为碎片的索引;
2.4.4.2.1)令Ai为Ao-k与Af-k的交集,若Ai为空,则判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历,若Ai非空,则作如下处理:
2.4.4.2.1.0)判断Ai是否等于Af-k;
2.4.4.2.1.1)如果是,说明Af-k完全被Ao-k包含,于是Af-k将完全被Ao-k覆盖(替代),则将Af-k对应的碎片从当前碎片链表中删除,然后判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历;
2.4.4.2.1.2)否则:将Ai从Af-k中删除,然后,
2.4.4.2.1.3)判断Ai是否等于Ao-k,
2.4.4.2.1.3.1)如果是,说明Ao-k完全被Af-k包含,再不可能与其他碎片的区域相交(碎片之间都是不相交的),则应停止对当前碎片链表的遍历,否则,然后判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历;
2.4.4.2.2)遍历结束后,将Ao-k合并入最终透明区域;
需要说明的是,复杂透明的定义可以根据需要进行修改和扩充,例如,可以将具有变数的透明度参数描述的透明属性定义为复杂透明,或者将具有两种以上颜色值的透明属性定义为复杂透明。
如图7所示,2.4.4.3)对于当前图元对象是不透明的情况,作如下处理:
2.4.4.3.0)判断Ao-k与最终透明区域的交集是否非空;
2.4.4.3.1)若非空,则从当前的最终透明区域中删除交集部分,然后前进到步骤2.4.4.3.2;若空,就直接到步骤2.4.4.3.2;
2.4.4.3.2)遍历当前页面分块k中的碎片链表,当前碎片的轮廓区域记为Af-k;
2.4.4.3.3)令Ai为Ao-k与Af-k的交集,若Ai为空,则判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历,若Ai非空,则作如下处理:
2.4.4.3.3.0)判断Ai是否等于Af-k;
2.4.4.3.3.1)若Ai等于Af-k,说明Af-k完全被Ao-k包含,于是Af-k将完全被Ao-k覆盖(替代),则将Af-k对应的碎片从当前碎片链表中删除,然后判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历;
2.4.4.3.3.2)否则将Ai从Af-k中删除;
2.4.4.3.3.3)判断Ai是否等于Ao-k,
2.4.4.3.3.3.1)若Ai等于Ao-k,说明Ao-k完全被Af-k包含,再不可能与其他碎片的区域相交(碎片之间都是不相交的),则应停止对当前碎片链表的遍历;
2.4.4.3.3.3.2)否则判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历;
2.4.4.3.4)因当前图元对象是不透明的,当遍历完当前碎片链表之后,Ao-k不会有任何变化,故可作为一个新的不透明的碎片***碎片链表中,该新的碎片的轮廓区域为Ao-k,该新的碎片的对象层列表为o。
如图8所示,2.4.4.4)对于当前图元对象是简单透明的情况,作如下处理:
2.4.4.4.1)对于当前图元对象是图形类型的情况,作如下处理:
2.4.4.4.1.0)判断Ao-k与最终透明区域的交集是否非空;
2.4.4.4.1.1)若非空,则从Ao-k中删除交集部分,然后前进到步骤2.4.4.4.1.2,若Ao-k与最终透明区域的交集是空集,则直接前进到步骤2.4.4.4.1.2;
2.4.4.4.1.2)判断Ao-k是否非空,如果为空,则退出对当前碎片链表的遍历;
2.4.4.4.1.2.0)如果非空,则遍历当前页面分块k中的碎片链表,当前碎片的轮廓区域记为Af-k;
2.4.4.4.1.2.1)令Ai为Ao-k与Af-k的交集,若Ai为空,则判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历,若Ai非空,则作如下处理:
2.4.4.4.1.2.2)判断Ai是否等于Af-k;
2.4.4.4.1.2.2.1)若Ai等于Af-k,说明Af-k完全被Ao-k包含,则判断Af-k对应的碎片是否为图像类型,
2.4.4.4.1.2.2.1.1)是则将Af-k对应的碎片从当前碎片链表中删除;
2.4.4.4.1.2.2.1.2)将Ai合并入最终透明区域;
2.4.4.4.1.2.2.1.3)否则将当前图元对象加入Af-k对应的碎片的对象层列表的表尾;
2.4.4.4.1.2.2.1.4)若Af-k对应的碎片属性为不透明,则将碎片属性修改为透明;如果透明,则保持;
2.4.4.4.1.2.2.2)将Ai从Ao-k中删除,然后回到步骤2.4.4.4.1.2;
2.4.4.4.1.2.2.3)若Ai不等于Af-k,则判断Ai是否等于Ao-k;
2.4.4.4.1.2.2.3.1)如果Ai等于Ao-k,则说明Ao-k完全被Af-k包含,再不可能与其他碎片的区域相交,将Ai从Af-k中删除;
2.4.4.4.1.2.2.3.2)判断Af-k对应的碎片是否为图像类型;
2.4.4.4.1.2.2.3.3)若Af-k对应的碎片是图像类型,则将Ai合并入最终透明区域,然后判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历;
2.4.4.4.1.2.2.3.4)如果不是图像类型,则往碎片链表中***一个新碎片,轮廓区域为Ao-k,对象层列表为Af-k对应的碎片的对象层列表加上当前图元对象,然后判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历;
2.4.4.4.1.2.2.4)如果Ai不等于Ao-k,则
2.4.4.4.1.2.2.4.1)将Ai从Ao-k中删除;
2.4.4.4.1.2.2.4.2)将Ai从Af-k中删除;
2.4.4.4.1.2.2.4.3)判断Af-k对应的碎片是否为图像类型;
2.4.4.4.1.2.2.4.4)若Af-k对应的碎片是图像类型,则将Ai合并入最终透明区域,然后判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历;
2.4.4.4.1.2.2.4.5)如果不是图像类型,则往碎片链表中***一个新碎片,轮廓区域为Ai,对象层列表为Af-k对应的碎片的对象层列表加上当前图元对象,然后判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历;
2.4.4.4.1.3)当正常遍历完当前碎片链表之后,Ao-k应仍非空(否则之前已经停止遍历),将其作为一个新碎片***碎片链表中,该新的碎片的轮廓区域为Ao-k,该新的碎片的对象层列表为当前图元对象。
如图9所示,2.4.4.4.2)对于当前图元对象是简单透明且是图像类型的情况,作如下处理:
2.4.4.4.2.0)判断Ao-k与最终透明区域的交集是否非空;
2.4.4.4.2.1)若非空,则从Ao-k中删除交集部分,然后前进到步骤2.4.4.4.2.2,若Ao-k与最终透明区域的交集是空集,则直接前进到步骤2.4.4.4.2.2;
2.4.4.4.2.2)判断Ao-k是否非空,如果为空,则退出遍历,
2.4.4.4.2.2.0)如果非空,则遍历当前页面分块k中的碎片链表,当前碎片的轮廓区域记为Af-k;
2.4.4.4.2.2.1)令Ai为Ao-k与Af-k的交集,若Ai为空,则判断是否已经遍历完碎片链表,没有则继续遍历,否则结束遍历,若Ai非空,则作如下处理:
2.4.4.4.2.2.2)将Ai合并入最终透明区域;
2.4.4.4.2.2.3)判断Ai是否等于Af-k;
2.4.4.4.2.2.3.1)若Ai等于Af-k,说明Af-k完全被Ao-k包含,则将Af-k对应的碎片从当前碎片链表中删除;
2.4.4.4.2.2.3.2)将Ai从Ao-k中删除,然后回到步骤2.4.4.4.2.2;
2.4.4.4.2.2.3.3)若Ai不等于Af-k,则判断Ai是否等于Ao-k;
2.4.4.4.2.2.3.4)如果Ai等于Ao-k,则说明Ao-k完全被Af-k包含,再不可能与其他碎片的区域相交,将Ai从Af-k中删除,停止对碎片链表的遍历;
2.4.4.4.2.2.3.5)如果Ai不等于Ao-k,则将Ai从Af-k中删除,然后前进到步骤2.4.4.4.2.2.3.2;
2.4.4.4.2.3)当正常遍历完当前碎片链表之后,Ao-k应仍非空(否则之前已经停止遍历),将其作为一个新碎片***碎片链表中,该新的碎片的轮廓区域为Ao-k,该新的碎片的对象层列表为当前图元对象。
需要说明的是,简单透明的定义可以根据需要进行修改和扩充,例如,可以将具有常数的透明度参数描述的透明属性定义为简单透明,或者将仅具有一种或两种颜色值的透明属性定义为简单透明。
3)透明图元碎片链表的使用:
顺序遍历每一个页面分块中透明图元碎片链表,对于每一个透明图元碎片链表作如下处理:
3.1)若当前碎片是不透明碎片,则从当前页面分块对应的去透明区域中删除其对应的轮廓区域;
3.2)否则(当前碎片是透明碎片):
3.2.1)确定碎片的去透明区域;
3.2.2)若当前碎片是图形类型,则对图形碎片进行混色计算以去除透明,将去除透明之后的结果写入中间指令文件;
3.2.3)设置当前页面分块对应的去透明区域结果,即将当前页面分块对应的去透明区域加入到页面去透明区域中;
3.24)设置当前页面分块对应的最终透明区域结果,即将当前页面分块对应的最终透明区域加入到页面最终透明区域中。
在本发明的实施例中,通过透明图元碎片链表的创建、维护与使用,从而提高了透明页面光栅化效率。本发明实施例通过在进行点阵像素级的透明混色运算之前对页面上的透明图元对象进行“降透明处理”,使得部分或全部透明图元对象转化为不透明的页面区域。另外,本发明实施例通过恰当地设置,可以方便地增加定义和规则以进一步提高处理各种类型透明对象的效率。采用本发明上述实施例的方法,能够在很大程度上减少以设备坐标空间下点阵像素为单位进行的超大数据量的透明计算,从而使得透明页面光栅化的效率得到有力的提升。
上述改进方法不仅适用于采用PDF描述的透明页面,还适用于采用其它指令语言描述的透明页面,比如采用可扩展标记语言页面规范(XPS,XML Paper Specification)描述的透明页面。
图10示出了根据本发明实施例的用于页面的光栅化处理装置的示意图,包括:
获取模块10,用于获取原始透明区域;
去透明模块20,用于对获取的位于原始透明区域之内的图元对象进行去透明处理,以生成最终透明区域;
运算模块30,用于在光栅化处理中,对最终透明区域进行混色运算。
优选地,获取模块用于在扫描原始指令文件以生成中间指令文件时,对透明图元所占轮廓区域进行记录,确定其所处页面分块,并存入对应的页面分块的中间指令文件中,以得到所述原始透明区域。
优选地,去透明模块包括:第一模块,用于将当前的图元对象所占的轮廓区域与原始透明区域求交得到交集区域Ao,其中o为图元对象的索引;第二模块,用于若Ao非空,则遍历Ao所在的页面分块;第三模块,用于将Ao与当前页面分块k中的原始透明区域求交得到交集区域Ao-k;第四模块,用于若Ao-k非空,则根据当前的图元对象的透明属性进行去透明处理。
从以上的描述中可以看出,本发明上述的实施例因为确定了最终透明区域,且仅对透明区域进行混色运算,所以降低了运算量,提高了光栅化处理效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种用于页面的光栅化处理方法,其特征在于,包括:
获取原始透明区域;
对获取的位于所述原始透明区域之内的图元对象进行去透明处理,以生成最终透明区域;
其中,所述图元对象的透明属性包括不透明、简单透明和复杂透明,关于简单透明和复杂透明的定义如下:
将具有常数的透明度参数描述的透明属性定义为简单透明,将具有变数的透明度参数描述的透明属性定义为复杂透明;或者
将仅具有一种或两种颜色值的透明属性定义为简单透明,将具有两种以上颜色值的透明属性定义为复杂透明;
在光栅化处理中,对所述最终透明区域进行混色运算,
其中,获取原始透明区域包括:从原始指令文件中获取透明图元对象所占区域,并记录到扫描所述原始指令文件所生成的中间指令文件中,以得到所述原始透明区域,
在扫描所述原始指令文件以生成中间指令文件时,对所述透明图元对象所占轮廓区域进行记录,确定其所处页面分块,并存入对应的所述页面分块的中间指令文件中,
对获取的位于所述原始透明区域之内的图元对象进行去透明处理包括:
将当前的所述图元对象所占的轮廓区域与所述原始透明区域求交得到交集区域Ao,其中o为所述图元对象的索引;
若Ao非空,则遍历Ao所在的页面分块;
将Ao与当前所述页面分块k中的所述原始透明区域求交得到交集区域Ao‐k;
若Ao‐k非空,则根据当前的所述图元对象的透明属性进行去透明处理。
2.根据权利要求1所述的方法,其特征在于,确定当前的所述图元对象是复杂透明的,根据当前的所述图元对象的透明属性进行去透明处理包括:
遍历当前所述页面分块k中的碎片表;
求取Ao‐k与所述碎片表中当前碎片的轮廓区域Af‐k的交集Ai,并判断Ai是否为空;
若Ai为空,则判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;
若Ai非空,则判断Ai是否等于Af‐k;
是则从所述碎片表中删除Af‐k对应的碎片,然后判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;
如果Ai不等于Af‐k,则将Ai从Af‐k中删除,并判断Ai是否等于Ao‐k;
是则结束遍历,否则判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;
遍历结束后,将Ao‐k合并入所述最终透明区域。
3.根据权利要求2所述的方法,其特征在于,确定当前的所述图元对象是不透明的,根据当前的所述图元对象的透明属性进行去透明处理包括:
从当前的所述最终透明区域中删除与Ao‐k的交集部分;
遍历当前所述页面分块k中的碎片表;
求取Ao‐k与所述碎片表中当前碎片的轮廓区域Af‐k的交集Ai,并判断Ai是否非空;
若Ai为空,则判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;
若Ai非空,则判断Ai是否等于Af‐k;
是则从所述碎片表中删除Af‐k对应的碎片,然后判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;
如果Ai不等于Af‐k,则将Ai从Af‐k中删除,并判断Ai是否等于Ao‐k;
是则结束遍历,否则判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;
遍历结束后,在所述碎片表***新碎片,所述新碎片的轮廓区域为Ao‐k,所述新碎片的对象层列表为o。
4.根据权利要求3所述的方法,其特征在于,确定当前的所述图元对象是简单透明的,根据当前的所述图元对象的透明属性进行去透明处理包括:
确定当前的所述图元对象属于图形类型;
从Ao‐k中删除与当前的所述最终透明区域的交集部分;
判断Ao‐k是否非空,如果为空,则退出对当前所述页面分块k中的碎片表的遍历,如果非空,则继续以下步骤;
遍历当前所述页面分块k中的碎片表;
求取Ao‐k与所述碎片表中当前碎片的轮廓区域Af‐k的交集Ai,并判断Ai是否非空;
若Ai为空,则判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;
若Ai非空,则判断Ai是否等于Af‐k;
如果Ai等于Af‐k,则判断Af‐k对应的碎片是否为图像类型;
是则从所述碎片表中删除Af‐k对应的碎片,将Ai合并入最终透明区域,从Ao‐k中删除Ai,然后回到判断Ao‐k是否非空的步骤;
否则将当前的所述图元对象加入Af‐k对应的碎片的对象层列表的表尾,若Af‐k对应的碎片属性为不透明,则将碎片属性修改为透明,如果为透明,则保持不变,从Ao‐k中删除Ai,然后回到判断Ao‐k是否非空的步骤;
如果Ai不等于Af‐k,则判断Ai是否等于Ao‐k;
如果等于,则从Af‐k中删除Ai,判断Af‐k对应的碎片是否为图像类型,若是,则将Ai合并入所述最终透明区域,然后判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;如果不是图像类型,则在所述碎片表***新碎片,所述新碎片的轮廓区域为Ao‐k,所述新碎片的对象层列表为Af‐k对应的碎片的对象层列表加上当前的所述图元对象,然后判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;
如果不等于,则从Ao‐k中删除Ai,从Af‐k中删除Ai,判断Af‐k对应的碎片是否为图像类型,若是,则将Ai合并入所述最终透明区域,然后判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;如果不是图像类型,则在所述碎片表***新碎片,所述新碎片的轮廓区域为Ai,所述新碎片的对象层列表为Af‐k对应的碎片的对象层列表加上当前的所述图元对象,然后判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历
遍历结束后,在所述碎片表***新碎片,所述新碎片的轮廓区域为Ao‐k,所述新碎片的对象层列表为当前的所述图元对象。
5.根据权利要求4所述的方法,其特征在于,确定当前的所述图元对象是简单透明的,根据当前的所述图元对象的透明属性进行去透明处理包括:
确定当前的所述图元对象属于图像类型;
从Ao‐k中删除与当前的所述最终透明区域的交集部分;
判断Ao‐k是否非空,如果为空,则退出对当前所述页面分块k中的碎片表的遍历,如果非空,则继续以下步骤;
遍历当前所述页面分块k中的碎片表;
求取Ao‐k与所述碎片表中当前碎片的轮廓区域Af‐k的交集Ai,并判断Ai是否非空;
若Ai为空,则判断是否已经遍历完所述碎片表,没有则继续遍历,否则结束遍历;
若Ai非空,则将Ai合并入最终透明区域,
判断Ai是否等于Af‐k;
如果Ai等于Af‐k,则从所述碎片表中删除Af‐k对应的碎片,从Ao‐k中删除Ai,然后回到判断Ao‐k是否非空的步骤;
如果Ai不等于Af‐k,则判断Ai是否等于Ao‐k,
是则从Af‐k中删除Ai,结束遍历;
否则从Af‐k中删除Ai,从Ao‐k中删除Ai,然后回到判断Ao‐k是否非空的步骤;
遍历结束后,在所述碎片表***新碎片,所述新碎片的轮廓区域为Ao‐k,所述新碎片的对象层列表为当前的所述图元对象。
6.根据权利要求2‐5任一项所述的方法,其特征在于,根据当前的所述图元对象的透明属性进行去透明处理还包括:
顺序遍历每一个所述页面分块中的所述碎片表;
如果当前的所述碎片是不透明碎片,则从当前的所述页面分块对应的去透明区域中删除所述碎片对应的轮廓区域;
如果当前的所述碎片是透明碎片,则确定所述碎片的去透明区域,如果所述碎片是图形类型,则对所述碎片进行混色计算以去除透明,将去除透明之后的结果写入所述中间指令文件;
将当前所述页面分块对应的去透明区域加入到所述页面的去透明区域中;
将当前所述页面分块对应的最终透明区域加入到所述页面的最终透明区域中。
7.一种用于页面的光栅化处理装置,其特征在于,包括:
获取模块,用于获取原始透明区域,以及在扫描所述原始指令文件以生成中间指令文件时,对所述透明图元对象所占轮廓区域进行记录,确定其所处页面分块,并存入对应的所述页面分块的中间指令文件中,以得到所述原始透明区域;
去透明模块,用于对获取的位于所述原始透明区域之内的图元对象进行去透明处理,以生成最终透明区域;
运算模块,用于在光栅化处理中,对所述最终透明区域进行混色运算,
所述去透明模块包括:
第一模块,用于将当前的所述图元对象所占的轮廓区域与所述原始透明区域求交得到交集区域Ao,其中o为所述图元对象的索引;
第二模块,用于若Ao非空,则遍历Ao所在的页面分块;
第三模块,用于将Ao与当前所述页面分块k中的所述原始透明区域求交得到交集区域Ao‐k;
第四模块,用于若Ao‐k非空,则根据当前的所述图元对象的透明属性进行去透明处理。
CN201110184389.6A 2011-06-30 2011-06-30 用于页面的光栅化处理方法和装置 Active CN102855645B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110184389.6A CN102855645B (zh) 2011-06-30 2011-06-30 用于页面的光栅化处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110184389.6A CN102855645B (zh) 2011-06-30 2011-06-30 用于页面的光栅化处理方法和装置

Publications (2)

Publication Number Publication Date
CN102855645A CN102855645A (zh) 2013-01-02
CN102855645B true CN102855645B (zh) 2015-01-21

Family

ID=47402206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110184389.6A Active CN102855645B (zh) 2011-06-30 2011-06-30 用于页面的光栅化处理方法和装置

Country Status (1)

Country Link
CN (1) CN102855645B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0924653A2 (en) * 1997-12-22 1999-06-23 Adobe Systems Incorporated Blending graphical objects using planar maps
CN1825893A (zh) * 2005-01-31 2006-08-30 国际商业机器公司 用于对数据进行光栅化和编码的方法和***
CN1928852A (zh) * 2006-09-27 2007-03-14 北京大学 一种透明页面的光栅化处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60160263A (ja) * 1984-01-30 1985-08-21 Canon Inc 情報表示装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0924653A2 (en) * 1997-12-22 1999-06-23 Adobe Systems Incorporated Blending graphical objects using planar maps
CN1825893A (zh) * 2005-01-31 2006-08-30 国际商业机器公司 用于对数据进行光栅化和编码的方法和***
CN1928852A (zh) * 2006-09-27 2007-03-14 北京大学 一种透明页面的光栅化处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP昭60-160263A 1985.08.21 *

Also Published As

Publication number Publication date
CN102855645A (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
CN111860138B (zh) 基于全融合网络的三维点云语义分割方法及***
CN110532968A (zh) 表格识别方法、装置和存储介质
JP6612487B1 (ja) 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム
KR101136737B1 (ko) 그래픽 처리방법 및 그 장치
CN109885626A (zh) 基于结构化数据和bim模型的城建数字档案智能管理***
CN106934058B (zh) 矢量数据读取方法及***、矢量数据可视化方法及***
CN107480380B (zh) 一种基于模板的工程图纸生成方法
CN101739223A (zh) 一种通过虚拟打印实现文档格式转换的方法及***
CN111258575B (zh) 一种页面布局处理方法及装置
CN110659317A (zh) 一种bim数据轻量化方法
CN106558083A (zh) 一种webp压缩算法帧内预测阶段的加速方法、装置及***
CN112764004B (zh) 一种点云处理方法、装置、设备及存储介质
CN104376050B (zh) 一种在三维场景动态调度并显示海量矢量数据的方法
CN112668289A (zh) 一种嵌套表格的提取方法及装置、存储介质
CN110826122A (zh) 一种核电三维布置设计模型体素化方法及***
CN105740293B (zh) 数据导出方法和装置
CN107767486A (zh) 一种基于视频格式的端到端自动驾驶数据的存储方法及装置
JP2010515131A (ja) ベクトルグラフィックをラスター化するプロセスにおいて境界を発生させるための方法およびシステム、ならびに、システムを製造するための方法
CN102855645B (zh) 用于页面的光栅化处理方法和装置
CN116502303B (zh) 一种基于场景层级实例信息增强的bim模型可视化方法
CN106095411A (zh) 显示方法及终端
CN115658056A (zh) 一种基于图片的前端vue代码自动生成方法和***
CN103870543A (zh) 一种用于文档文件重构的方法及装置
CN104937639A (zh) 三维图像生成装置以及三维图像生成方法
CN114637732A (zh) 一种dwg图纸数据的转换方法及***

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
TR01 Transfer of patent right

Effective date of registration: 20220615

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: Beijing Beida Founder Electronics Co., Ltd.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 5 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: Beijing Beida Founder Electronics Co., Ltd.

TR01 Transfer of patent right