四讲二维图形填充ppt课件

上传人:工**** 文档编号:567924878 上传时间:2024-07-22 格式:PPT 页数:34 大小:770KB
返回 下载 相关 举报
四讲二维图形填充ppt课件_第1页
第1页 / 共34页
四讲二维图形填充ppt课件_第2页
第2页 / 共34页
四讲二维图形填充ppt课件_第3页
第3页 / 共34页
四讲二维图形填充ppt课件_第4页
第4页 / 共34页
四讲二维图形填充ppt课件_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《四讲二维图形填充ppt课件》由会员分享,可在线阅读,更多相关《四讲二维图形填充ppt课件(34页珍藏版)》请在金锄头文库上搜索。

1、润帮椭访壳密晚防顽咳匀摊锗炉派芥未皮吭癣煎挫称辆琢席知喜叼应矗宣四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024内容摘要内容摘要区域填充有序边表算法边填充算法边标志算法种子填充算法圆域的填充线宽与线型的处理直线线宽的处理(笔型:线、方形)圆弧线宽的处理(笔型:线、方形)线型的处理鞋磺食际嗽墟凶狄嚷芍暂转态键札争妄炎椒址郴硬耘空切承缸北床擞恿拟四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024内容摘要内容摘要字符矢量字符点阵字符字型技术字符裁剪反走样基础提高分辩率简单的区域反走样算法卷积积分与反走样算法半色调技术慈帖陋分性玻俊唆羡婪版样诱传吝氯效缓诣映簿

2、朴嫂沸纫狗封忻氰蝉爪诞四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024有序边表算法有序边表算法一一般般多多边边形形的的填填充充过过程程,对对于于一一条条扫描线扫描线Y值,可以分为值,可以分为四个步骤四个步骤:求求交交点点X:计计算算扫扫描描线线与与多多边边形形各各边的交点边的交点X的值;的值;排排序序:把把所所有有相相交交点点x按按递递增增顺顺序序进进行排序;行排序;交交点点配配对对:第第一一个个与与第第二二个个,第第三三个个与与第第四四个个等等等等。每每对对交交点点就就代代表表扫描线与多边形的一个相交区间;扫描线与多边形的一个相交区间;区区间间填填色色:把把这这些些相相

3、交交区区间间内内的的象象素素置置成成多多边边形形色色,把把相相交交区区间间外外的的象素置成背景色。象素置成背景色。特殊顶点处理特殊顶点处理:P1、P3情况情况:相同交点取相同交点取1个个;P2、P5情况情况:相同交点取相同交点取2个个;P4、P6情况情况:相同交点取相同交点取0个个;(下闭上开原则,防止填充扩大化下闭上开原则,防止填充扩大化)叉佑拱詹阅潮槛灿巩侗刹限滥佑书约援吐鹏差磊怪摆佣下宣臆紧值凋磺暖四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024填充扩大化问题的解决填充扩大化问题的解决采采用用下下闭闭上上开开、左左闭闭右右开开原则原则,防止填充扩大化。,防止填充扩大

4、化。例例如如填填充充左左下下角角为为(1,1),右右上上角角为为(3,3)的的区区域域,得得到到的的图图形形如如图图所所示示九九个个象象素素被被点点亮亮,而而实实际区域应是黄区所示。际区域应是黄区所示。采采取取的的措措施施:在在具具体体实实现现时时,只只要要对对扫扫描描线线与与多多边边形形的的相相交交区区间间取取“左左闭闭右右开开”。在在上上述述讨讨论论中中,当当扫扫描描线线与与多多边边形形顶顶点点相相交交时时,所所使使用用的的交交点点取取舍舍的的方方法法,保保证证了了多多边边形形的的“下下闭闭上上开开”,丢丢弃弃上上方方水水平平边边以以及及上上方方非非水水平平边边上上作作为为局局部部最最高点

5、的顶点。高点的顶点。庙函枫奥沉微值孰棉谓柱篮酗澜纬拧敞吵藉报剿右揖斟评聚识芬俊铰笺若四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024如左图如左图活性边与活性边表处理方法活性边与活性边表处理方法 一个多边形与若干扫描线。为了计算每条扫描线与多边形各边的交点,最简单的方法是把多边形的所有边放在一个为了计算每条扫描线与多边形各边的交点,最简单的方法是把多边形的所有边放在一个表中。在处理每条扫描线时,按顺序从表中取出所有的边,分别与扫描线表中。在处理每条扫描线时,按顺序从表中取出所有的边,分别与扫描线求交点求交点。这样。这样处理效率很低。这是因为一条扫描线往往只与少数几条边相交,

6、甚至与整个多边形都不处理效率很低。这是因为一条扫描线往往只与少数几条边相交,甚至与整个多边形都不相交。若在处理每条扫描线时,不分青红皂白地把所有边都拿来与扫描线求交点,则其相交。若在处理每条扫描线时,不分青红皂白地把所有边都拿来与扫描线求交点,则其中绝大多数都是徒劳无用的。如果采用活性边表,则可减少许多计算。中绝大多数都是徒劳无用的。如果采用活性边表,则可减少许多计算。扫描线依次变化为扫描线依次变化为1,2,3,4,5,6,7,8,.x是边与当前扫描线的交点;是边与当前扫描线的交点; x是该边从当前扫描线到下一扫描线之间是该边从当前扫描线到下一扫描线之间x增量;增量;ymax是边所交的最高扫描

7、线号。是边所交的最高扫描线号。在上述的交点在上述的交点x坐标更新和新边插入之前,必须把那些与当前扫描线相交,而与下一条坐标更新和新边插入之前,必须把那些与当前扫描线相交,而与下一条扫描线不再相交的边,从活性边表扫描线不再相交的边,从活性边表(AET)中删除出去。中删除出去。翔镇堤麻揉盅蝉肯余腿痒今诱欣苦诬瑶太咖全淤褒秽挛瑞萝植掺括种尸窥四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024新边表处理方法新边表处理方法为为了了方方便便活活性性边边表表的的建建立立与与更更新新,为为每每一一条条扫扫描描线线建建立立一一个个新新边边表表,在在该该扫扫描描线线第第一次出现的边保留与此。也

8、就是说一次出现的边保留与此。也就是说若某边的较低端点为若某边的较低端点为ymin,则该边就放在扫描线,则该边就放在扫描线ymin的新边表中。这样,当按扫描线号从小到大顺的新边表中。这样,当按扫描线号从小到大顺序处理扫描线时,该边在该扫描线第一次出现。新边表的每个结点存放对应边的初始信息,比如序处理扫描线时,该边在该扫描线第一次出现。新边表的每个结点存放对应边的初始信息,比如该扫描线与该边的初始交点该扫描线与该边的初始交点x(即较低端点的(即较低端点的x值),值),x的增量的增量 x,以及该边的最大,以及该边的最大y值值ymax。图。图3-18所示,为左图中各扫描线的新边表。区间填充需设置一个布

9、尔变量所示,为左图中各扫描线的新边表。区间填充需设置一个布尔变量b, 在多边形内在多边形内b为真为真, 在多边在多边形外形外b为假为假,b的初值为假。当指针从活性边表中第一个结点(交点)到最后一个结点遍历一次时,的初值为假。当指针从活性边表中第一个结点(交点)到最后一个结点遍历一次时,每访问一个结点,把每访问一个结点,把b取反一次。若取反一次。若b为真,则把从当前结点的为真,则把从当前结点的x值开始到下一结点的值开始到下一结点的x值结束的左值结束的左闭右开区间,用多边形色填充。利用区间连贯性,即同一区间上的象素取同一颜色属性。闭右开区间,用多边形色填充。利用区间连贯性,即同一区间上的象素取同一

10、颜色属性。多边形外的点用背景色填充。多边形外的点用背景色填充。跃狮坊搭槽欧月堑晨逃府兽震私搐妈甫雏芭伎蛙坡薯枝溺吕狂丸盛道琼亭四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024边填充算法边填充算法基基本本思思想想:对对于于每每一一条条扫扫描描线线和和每每一一条条多多边边形形边边的的交交点点(x(xi i,y yi i) ),将将该该扫扫描描线线上上交交点点右右方方的的所所有有象象素素取取补补。对对多多边边形形的的每每条条边边均均作作此此处处理理,多多边边形形的的顺顺序序随随意意。右右图图为为采采用用最最简简单单的的边边填填充充算算法法填填充一个多边形的示意图。充一个多边形的

11、示意图。边边填填充充算算法法最最适适用用于于具具有有帧帧缓缓冲冲存存储储器器的的图图形形系系统统,按按任意顺序处理的边。任意顺序处理的边。在在处处理理每每条条边边时时,仅仅访访问问与与该该边边相相交交的的扫扫描描线线上上交交点点右右方方的的象象素素。当当所所有有的的边边都都被被处处理理之之后后,按按扫扫描描线线顺顺序序读读出出帧帧缓缓冲冲存存储储器器的的内内容容,送送入入显显示示设设备备。可可见见本本算算法法的的优优点点是是简简单单,缺缺点点是是对对于于复复杂杂图图形形,每每一一象象素素可可能能被被访访问问多多次次,输输入入输输出出的的量量比比有有序序边边表表算算法法大大得得多多。为为了了减减

12、少少边边填填充充算算法法访访问问象象素素的的次次数数,可可引引入入栅栅栏栏。所所谓谓栅栅栏栏指指的的是是一一条条与与扫扫描描线线垂垂直直的的直直线线,栅栏位置通常取过多边形栅栏位置通常取过多边形顶点、且把多边形分为左右两半。顶点、且把多边形分为左右两半。堕瘪悔镐捌县蔷艾役狭骗玖骄箭裹枉砸敷汐萧喷肌伯读阿曼澳陇泪劈挤楼四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024栅栏填充算法栅栏填充算法基基本本思思想想是是:当当扫扫描描线线与与多多边边形形边边有有交交点点,就就将将交交点点与与栅栅栏栏之之间间的的象象素素取取补补。若若交交点点位位于于栅栅栏栏左左边边,则则将将交交点点之之

13、右右,栅栅栏栏之之左左的的所所有有象象素素取取补补;若若交交点点位位于于栅栅栏栏右右边边,则则将将栅栅栏栏之之右右,交交点点之之左左的的象象素素取取补补。如如图图所所示示,为为采采用用栅栅栏栏填填充充算算法法填填充充多多边边形形的的示示意意图。图。栅栅栏栏填填充充算算法法只只是是减减少少了了被被重重复复访访问问的的象象素素的的数数目目,但但仍仍有有一一些些象象素素会会被被重重复复访访问问。从从图图中中很很容容易易看看出出这这一一点点。下下面面介介绍绍的的边边标标志志算算法法进进一一步步改改进进了了栅栅栏栏填填充充算算法法,使使得得算算法法对对每每个个象象素素仅仅访访问问一一次次。算算法示意图如

14、下页所示。法示意图如下页所示。鼠甩淡借仰许新徊蝶址蔫杂帛陋庆羌缓奖芦隔殊传妻弗缆蚜憾碰之包史筏四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024边标志算法边标志算法基基本本思思想想是是:分分为为两两步步骤骤,第第一一步步,对对多多边边形形的的每每条条边边进进行行直直线线扫扫描描变变换换,亦亦即即对对多多边边形形边边界界所所经经过过的的象象素素打打上上标标志志;第第二二步步,填填充充。对对每每条条与与多多边边形形相相交交的的扫扫描描线线,依依从从左左到到右右顺顺序序,逐逐个个访访问问该该扫扫描描线线上上象象素素。使使用用一一个个布布尔尔量量inside来来指指示示当当前前点点

15、的的状状态态,若若点点在在多多边边形形内内,则则inside为为真真。若若点点在在多多边边形形外外,则则inside为为假假。inside的的初初始始值值为为假假,每每当当访访问问到到象象素素为为被被打打上上边边标标志志的的点点时时,就就把把inside取取反反。对对未未打打标标志志的的象象素素,inside不不变变。若若访访问问象象素素时时,inside为为真真,则则把把该该象象素素置置为为多多边边形形色色。用用软软件件实实现现时时,有有序序边边表表算算法法与与边边标标志志算算法法的的执执行行速速度度几几乎乎相相同同,但但由由于于在在帧帧缓缓冲冲存存储储器器中中应应用用边边标标志志算算法法时

16、时,不不必必建建立立、维维护护边边表表以以及及对对它它进进行行排排序序,所所以以边边标标志志算算法法更更适适合合于于硬硬件件实实现现,这这时时它它的的执执行行速速度度比比有有序序边边表表算算法法快到一至两个数量级。快到一至两个数量级。家庞蔼蹋通旗呻着涨硕锥哎蜕妇捶干抹希脆奔伸遣叔罕顿备披博奈胸悠孕四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024种子填充算法的连通区域种子填充算法的连通区域基本思想是是前前面面讨讨论论的的填填充充算算法法都都是是按按扫扫描描线线的的顺顺序序进进行行象象素素点点的的填填充充的的,种种子子填填充充算算法法是是根根据据已已知知的的一一个个多多边边形

17、形区区域域内内部部的的一一个个象象素素点点来来找找到到区区域域内内其其它它的的象象素素点点进进行行填填充的。充的。前前面面讨讨论论的的填填充充算算法法都都是是按按扫扫描描线线的的顺顺序序进进行行象象素素点点的的填填充充的的,种种子子填填充充算算法法是是根根据据已已知知的的一一个个多多边边形形区区域域内内部部的的一一个个象象素素点点来来找找到到区区域域内其它的象素点进行填充的。内其它的象素点进行填充的。一般都采用边界定义区域,即边界区域上所有象素被置为特定值,而区域内部所有的一般都采用边界定义区域,即边界区域上所有象素被置为特定值,而区域内部所有的象素均不取这个值。区域可以分为四连通或八连通两种

18、,如果区域是四连通的,那么象素均不取这个值。区域可以分为四连通或八连通两种,如果区域是四连通的,那么区域内每一个象素可以通过四个方向(上、下、左、右)组合到达,而对八连通区域,区域内每一个象素可以通过四个方向(上、下、左、右)组合到达,而对八连通区域,区域内的每个象素可通过上、下、左、右以及四个对角线方向的移动组合到达。区域内的每个象素可通过上、下、左、右以及四个对角线方向的移动组合到达。八连通算法可以填充四连通区域,而四连通算法不能填充八连通区域。两类连通区域八连通算法可以填充四连通区域,而四连通算法不能填充八连通区域。两类连通区域如图所示。图如图所示。图 (b) (b)中八连通区域的子区域

19、是四连通的,然而从一个子区域到另一个子中八连通区域的子区域是四连通的,然而从一个子区域到另一个子区域需用八连通算法,若每个子区域看成是分离的二个四连通区域,并且每个区域填区域需用八连通算法,若每个子区域看成是分离的二个四连通区域,并且每个区域填上不同的色彩值,如果用八连通算法会让两个区域均被错误地填上同样的色彩。下面上不同的色彩值,如果用八连通算法会让两个区域均被错误地填上同样的色彩。下面仅讨论四向连通算法仅讨论四向连通算法, ,只要把搜索方向从四个该为八个只要把搜索方向从四个该为八个, ,即可得到八向算法。即可得到八向算法。噎徽苞桓科遣娠竣钉笛更釉扳妮由慷萤接龄兜茧耶倔拎措硫呵剪烘啪凛菌四讲

20、二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024简单种子填充算法简单种子填充算法简单的种子填充算法如下:简单的种子填充算法如下:(1) (1) 将种子象素压入栈中;将种子象素压入栈中;(2)(2)当栈非空时当栈非空时从栈中弹出一个象素;从栈中弹出一个象素;将该象素置成所要求的色彩值;将该象素置成所要求的色彩值;检检查查每每个个与与当当前前象象素素邻邻接接的的四四连连通通象象素素是是否否是是边边界界色色或或已已置置成成所所要要求求的的色色彩彩值值,若若是是则则返返回回(2)(2),否否则则将将该象素压入栈中回到该象素压入栈中回到(2)(2)。 例例 简单的种子填充算法。简单的种

21、子填充算法。多多边边形形由由顶顶点点P0P0、P1P1、P2P2、P3P3、P4P4构构成成,见见图图3-233-23。P0P0(1 1,5 5)、P1P1(5(5,5) 5) 、P2(7P2(7,3) 3) 、P3(7P3(7,1) 1) 、P4P4(1(1,1)1),可可设设种种子子点点为为(3(3,3)3);四四连通的组合方向是上、下、左、连通的组合方向是上、下、左、右。初始时栈中只有右。初始时栈中只有(3(3,3)3)象素;弹出象素;弹出(3(3,3)3),由于该象素未置成色彩值且也不是边,由于该象素未置成色彩值且也不是边界色,故填色彩值;同时将界色,故填色彩值;同时将(3(3,4)

22、(34) (3,2) (22) (2,3) 3) 及及(4(4,3)3)压入栈中;栈中有四个压入栈中;栈中有四个元素;弹出元素;弹出(4(4,3)3)并置上要求的色彩值,再将并置上要求的色彩值,再将(4(4,4) (44) (4,2) (52) (5,3)3)压入栈中;栈中压入栈中;栈中有有6 6个元素;依次类推,象素被选中并填充的次序如图中箭头所示。当栈为空时,算个元素;依次类推,象素被选中并填充的次序如图中箭头所示。当栈为空时,算法终止。分析该算法不难发现,在进行填充过程中堆栈会变得很大,而且在堆栈中还法终止。分析该算法不难发现,在进行填充过程中堆栈会变得很大,而且在堆栈中还常常包含有一些

23、重复的和不必要的信息。为此提出了扫描线种子填充算法。常常包含有一些重复的和不必要的信息。为此提出了扫描线种子填充算法。(3,3)(3,3) 弹出弹出(3,3)(3,3)(4,3)(4,3)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4) 弹出弹出(4,3)(4,3)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4) (5,3)(5,3)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4) 弹出弹出(5,3)(5,3)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)(6,3)

24、(6,3)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹出(6,3)(6,3)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)(6,2)(6,2)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹出(6,2)(6,2)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2

25、,3)(3,2)(3,2)(3,4)(3,4)(5,2)(5,2)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹出(5,2)(5,2)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)( (4,24,2) )(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹出(4,2)(4,2)(5,2)(5,2)(5,4)(5

26、,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)(3,2)(3,2)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹出(3,2)(3,2)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)(2,2)(2,2)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹

27、出(2,2)(2,2)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)(2,3)(2,3)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹出(2,3)(2,3)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)(2,4)(2,4)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)

28、(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹出(2,4)(2,4)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)(3,4)(3,4)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹出(3,4)(3,4)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)(4,4)(4,4)(5,2)(5,2)(5,4)(5

29、,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹出(4,4)(4,4)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)(5,4)(5,4)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4)弹出弹出(5,4)(5,4)(5,2)(5,2)(5,4)(5,4)(4,2)(4,2)(4,4)(4,4)(2,3)(2,3)(3,2)(3,2)(3,4)(3,4

30、)兑撞劝颇始隐胚呼书店媳骗锗社椽死望多幼云厌枕利凿企离臀过烛壶捻褐四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024扫描线种子填充算法扫描线种子填充算法所所谓谓扫扫描描线线种种子子填填充充算算法法,是是在在任任意意不不间间断断扫扫描描线线区区间间中中只只取取一一个个种种子子象象素素。不不间间断断区区间间即即指指在在一一条条扫扫描描线线上上一组相邻的元素。一组相邻的元素。算法可分为以下几步算法可分为以下几步:1 1) 从从包包含含种种子子象象素素的的栈栈中中弹弹出出种种子子象素;象素;2 2)沿沿着着扫扫描描线线对对种种子子象象素素进进行行填填充充,直直到到遇遇到到边边界界象

31、象素素为为止止,这这样样就就填填充充了种子所在的扫描线中的元素;了种子所在的扫描线中的元素;3 3)区区间间内内最最左左、最最右右元元素素为为XleftXleft,Xright;Xright;则则在在Xleft Xleft X X XrightXright区区间间中中检检查查与与当当前前扫扫描描线线相相邻邻的的上上、下下两两条条扫扫描描线线是是否否全全为为边边界界象象素素或或已已填填充充过过的的象象素素。若若不不是是,则则对对于于Xleft Xleft X X XrighXrigh,把把与与当当前前扫扫描描线线相相邻邻的的上上、下下两两条条扫扫描描线线中中该该区区间间的的最最右右象象素素作作为

32、为种子压入栈中。种子压入栈中。算算法法结结束束条条件件为为栈栈空空。此此算算法法适适用用于于用边界定义的区域。用边界定义的区域。奥颊酿剖银非存樊猴农仔姿仙烩佛线丽耽囚陡羹捉隔闲破操椿痔款围企海四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024圆域的填充圆域的填充上面所讨论的多边形区域的填充原理也可以推广到圆域的填充。对每条扫描线,先计算它与圆域的相交区间,再把区间内象素用指定颜色填充。纫鹤米爪益斋圭听西范缩歉捅蹋禁樱缆隔汤更勇浴努偷逗坟趣鱼铡铱饮亡四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024在在实实际际应应用用中中,除除了了使使用用单单象象素素宽宽

33、的的线线条条,还还经经常常使使用用指指定定线线宽宽和和线线型型的的直直线线与与弧弧线线。欲欲产产生生具具有有宽宽度度的的线线,可可以以顺顺着着扫扫描描所所生生成成的的单单象象素素线线条条轨轨迹迹,移移动动一一把把具具有有一一定定宽宽度度的的“刷刷子子”来来获获得得。“刷刷子子”的的形形状状可可以以是是一一条条线线段段或或一一个个正正方方形形。也也可可以以采采用用区区域域填填充充的的办办法法间间接接地地产产生生有有宽宽度度的的线线。假假设设直直线线斜斜率率在在 1 1,11之之间间,这这里里可可以以把把刷刷子子置置成成垂垂直直方方向向,刷刷子子的的中中点点对对准准直直线线一一端端点点,然然后后让

34、让刷刷子子中中心心往往直直线线的的另另一一端端移移动动,即即可可“刷刷出出“具具有有一一定定宽宽度度的的线线。当当直直线线斜斜率率不不在在 1 1,11之之间间时时,把把刷刷子子置置成成水水平平方方向向。具具体体实实现现线线刷刷子子时时,只只要要对对直直线线扫扫描描变变换换算算法法的的内内循循环环稍稍作作修修改改即即可可。例例如如,当当直直线线斜斜率率在在 1 1,11之之间间时时,把把每每步步迭迭代代所所得得的的点点的的上上下下方方半半线线宽宽之之内内的的象象素素全全部部置置成成直直线线颜颜色色。如如右右上上图图所所示示为为线线宽宽是是5 5个个象象素素的的情情形形。线线刷刷子子的的优优点点

35、是是算算法法简简单单、效效率率高高。但但是是,线线的的始始末末端端总总是是水水平平或或垂垂直直的的。因因此此,当当线线宽宽较较大大时时,看看起起来来很很不不自自然然。当当比比较较接接近近水水平平的的线线与与比比较较接接近近垂垂直直的的线线汇汇合合时时,汇汇合合处处外外角角将将有有缺缺口口, ,如如左左上上图图所所示示。斜斜线线与与水水平平(或或垂垂直直)线线不不一一样样粗粗。对对于于水水平平线线或或垂垂直直线线,刷刷子子与与线线条条垂垂直直,因因而而最最粗粗。其其粗粗细细与与指指定定线线宽宽相相等等。而而对对于于45 斜线斜线,刷子与线条成,刷子与线条成45 角,粗细仅为指定线宽的角,粗细仅为

36、指定线宽的1/ 2 0.7倍倍。直线线宽的处理直线线宽的处理 线刷子原理吟梭蓬喝痰娇字腾料应匣滥卵肘悯戴娶第榴丝拌悠俗屠桓用翅醋木愧易枕四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024为为用用正正方方形形刷刷子子绘绘制制的的具具有有宽宽度度的的线线条条。用用方方形形刷刷子子所所得得的的线线条条比比用用线线刷刷子子所所绘绘制制的的线线条条要要粗粗一一些些。与与线线刷刷子子类类似似,用用方方刷刷子子绘绘制制的的线线条条始始末末端端也也是是水水平平或或垂垂直直的的,且且线线宽宽与与线线条条方方向向有有关关。与与线线刷刷子子的的情情形形相相反反,对对于于水水平平线线与与垂垂直直线

37、线,线线宽宽最最小小,而而对对于于斜斜率率为为 1的的线线条条,线线宽宽最最大大,为为垂垂直直(水水平平)的的 2 倍倍。实实现现正正方方形形刷刷子子最最简简单单的的办办法法是是,把把方方形形中中心心对对准准单单象象素素宽宽的的线线条条上上各各个个象象素素,并并把把方方形形内内的的象象素素全全部部置置成成线线条条颜颜色色。这这种种简简单单方方法法将将会会重重复复地地写写象象素素。这这是是因因为为对对应应于于相相邻邻象象素素的的方方形形一一般般会会重重迭迭。为为了避免重复写象素,可以采用与活性边表类似的技术。了避免重复写象素,可以采用与活性边表类似的技术。方形刷子的原理方形刷子的原理线线刷刷子子

38、还还有有另另一一个个问问题题:当当线线宽宽为为偶偶数数个个象象素素时时,用用上上述述方方法法绘绘制制的的线线条条要要么么粗粗一一个个象象素素,要要么么细细一一个个象象素素。为为了了生生成成有有宽宽度度的的线线,还还可可以以用用方方形形的的刷刷子子,把把边边宽宽为为指指定定线线宽宽的的正正方方形形的的中中心心沿沿直直线线作作平平行行移移动动,即即可可获获得得具具有有线线宽宽的的线线条,如图所示条,如图所示耻缚倘埃未垛芳检口明恋宫壶双她羹非窿玉洗拇命奴芳鹿呐谴舔卡碴亡介四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024方刷子的活性边表技术方刷子的活性边表技术为每条扫描线建一个表

39、,为每条扫描线建一个表,存放该扫描线与线条的相存放该扫描线与线条的相交区间左右端点位置。在交区间左右端点位置。在每个象素使用方形刷子时,每个象素使用方形刷子时,用该方形与各扫描线的相用该方形与各扫描线的相交区间端点坐标去更新原交区间端点坐标去更新原表内端点数据,右图为刷表内端点数据,右图为刷子移动的相邻两步与有关子移动的相邻两步与有关扫描线的临时数据结构所扫描线的临时数据结构所保存的对应于各步的区间保存的对应于各步的区间端点坐标。端点坐标。生生成成具具有有宽宽度度的的线线条条还还可可以以采采用用区区域域填填充充的的算算法法。先先算算出出线线条条各各角角点点,再再用用直线段把相邻角点连接起直线段

40、把相邻角点连接起来,最后调用多边形填充算法把所得的四边形进行填色,即得到来,最后调用多边形填充算法把所得的四边形进行填色,即得到具有宽度的线条。用这种方法还可以生成两端粗细不一样的线条具有宽度的线条。用这种方法还可以生成两端粗细不一样的线条氨年揖匝谢蓝秃钳湍噬马傈俗软小沦愉致惹廉峻萍形惮闽泵乎汲斡澈泰添四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024圆弧线宽的处理(笔)圆弧线宽的处理(笔)为为了了生生成成具具有有宽宽度度的的圆圆弧弧,可可采采用用与与直直线线情情形形类类似似的的方方法法,当当采采用用线线刷刷子子时时,在在经经过过曲曲线线斜斜率率为为 1 1的的点点时时,必

41、必须须把把线线刷刷子子在在水水平平与与垂垂直直方方向向之之间间切切换换。由由于于线线刷刷子子总总是是置置成成水水平平或或垂垂直直的的,所所以以在在曲曲线线接接近近水水平平与与垂垂直直的的地地方方,线线条条更更粗粗一一些些,而而在在斜斜率率接接近近 1 1的的点点附附近近,线线条条更更细细一一些些,如如右右上上图图所所示示。当当采采用用正正方方形形刷刷子子时时,无无需需移移动动刷刷子子方方向向。只只需需顺顺着着单单象象素素的的轨轨迹迹,把把正正方方形形中中心心对对准准轨轨迹迹上上的的象象素素,把把方方形形内内的的象象素素全全部部用用线线条条颜颜色色填填充充。用用正正方方形形刷刷子子绘绘制制的的曲

42、曲线线条条,在在接接近近水水平平与与垂垂直直的的部部分分最最细细,而而在在斜斜率率为为 1 1的点附近最粗,这恰与线刷子情形相反,如左上图所示。的点附近最粗,这恰与线刷子情形相反,如左上图所示。鸯健挤评招蔡涵洞廖紧蜘君篱圈急凉荤漫惮蟹锯梨佯折倔讯晤益旅怯上伴四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024圆弧线宽的处理圆弧线宽的处理( (填充法填充法) )绘制具有宽度的绘制具有宽度的圆弧线条也可以圆弧线条也可以采用填充的办法,采用填充的办法,先绘制圆弧线条先绘制圆弧线条的内边界和外边的内边界和外边界,然后在内外界,然后在内外边界之间对其填边界之间对其填色。可以让内外色。可

43、以让内外边界都与单象边界都与单象素弧线轨迹距离半线宽,或把内外边界之一对准单象素素弧线轨迹距离半线宽,或把内外边界之一对准单象素弧线轨迹弧线轨迹, ,另一边界线离开此线一个线宽距离。如图所示另一边界线离开此线一个线宽距离。如图所示为采用填充方法所得的圆弧线条示意图。为采用填充方法所得的圆弧线条示意图。绵脾债耘毕深深督梳菩弃铂轨索选埔筒汾哎驭纯冉召赶平机袒杏人犀漫皮四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024线型的处理线型的处理在绘图应用中常用到不同线型的线条,以便区分各种不同的意义。在绘图应用中常用到不同线型的线条,以便区分各种不同的意义。实线实线: :可见的轮廓线可

44、见的轮廓线; ;虚线虚线: :不可见的轮廓线不可见的轮廓线; ;点划线点划线: :中心线等等。中心线等等。线线型型可可以以用用一一个个布布尔尔值值的的序序列列来来存存放放。例例如如,用用一一个个3232位位整整数数可可以以存存放放3232个个布布尔尔值值。用用这这样样的的整整数数存存放放线线型型定定义义时时,线线型型必必须须以以3232个个象象素素为为周周期进行重复。可以把扫描变换算法中的无条件写象素语句改为期进行重复。可以把扫描变换算法中的无条件写象素语句改为if(bitstringi%32)WritePixel(xif(bitstringi%32)WritePixel(x,y y,valu

45、e);value);其其中中i i为为循循环环变变量量,在在扫扫描描变变换换算算法法的的内内循循环环中中每每处处理理一一个个象象素素递递增增1 1,然后除以然后除以3232取余取余(“%”(“%”为为C C语言中求模运算符语言中求模运算符),),余数变化范围是余数变化范围是0 0 3131。例子例子: bitstring= 11111111110000000000111111111100: bitstring= 11111111110000000000111111111100用用这这种种简简单单办办法法实实现现的的线线型型有有个个毛毛病病。因因为为每每位位对对应应于于算算法法的的一一个个迭迭代

46、代步步骤骤而而不不是是线线条条上上一一个个长长度度单单位位,因因此此线线型型中中虚虚实实笔笔划划长长度度与与直直线线倾倾斜斜度度有有关关,斜斜线线上上的的笔笔划划长长度度比比横横向向或或竖竖向向上上的的笔笔划划更更长长, ,这这在在工工程程图图上上是是不不允允许许的的。所所以以, ,受受影影响响的的笔笔划划应应该该作作为为单单独独线线段段进进行行计计算算和和扫扫描描变变换换, ,使使其其长长度度不不随随线线的的倾倾斜斜度度的的变变化化而而变变。以以实实心心或或透透明明矩矩形形交交替替序序列列画画出出的的粗粗线线, ,各各矩矩形形顶顶点点作作为为所所选选线线型型函函数数精精确确地地计计算算。然然

47、后后分分别别对对单单个个钜钜形形进进行行扫扫描描变变换换。对对于于垂垂直直或或水水平平的的粗粗线线线线型型,可可以以用用复复制制矩矩形形完完成。成。 线线形形和和笔笔型型在在粗粗轮轮廓廓图图元元中中相相互互作作用用,线线型型用用于于计计算算每每一一个个笔笔画画的的矩矩形形,而每一个矩形的填充则是用所选择的笔型。而每一个矩形的填充则是用所选择的笔型。岔沸时簿施殴授吨妖怂酱盟愉抨呕闰宿省适粘醒凄回拆福剔兄硫煎鳃苫夏四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024字符字符讨讨论论的的字字符符是是指指数数字字、字字母母、汉汉字字等等符符号号,用用于于图图形形的的标标注注、说说明明

48、等等。国国际际上上最最流流行行的的字字符符集集是是“美美国国信信息息交交换换用用标标准准代代码码集集“(American Standard Code for Information Interchange),简简称称ASCII码码。该该字字符符集集规规定定了了127个个字字符符代代码码。其其中中代代码码031表表示示控控制制字字符符,代代码码32127表表示示英英文文字字母母、标标点点符符号号、数数字字符符号号、各各种种运运算算符符以以及及特特殊殊符符号号。每每个个ASCII码码用用一一个个字字节节(实际上只要七位二进制)代码表示。(实际上只要七位二进制)代码表示。我我国国除除采采用用ASCI

49、I码码外外,还还另另外外制制订订了了汉汉字字代代码码的的国国家家标标准准字字符符集集。最最常常用用的的字字符符集集是是”信信息息交交换换用用汉汉字字编编码码字字符符集集基基本本集集”GB231280。该该字字符符集集包包含含了了六六千千多多个个常常用用汉汉字字,以以及及英英文文字字母母、数数字字和和其其它它图图形形符符号号。分分成成94个个区区94个个位位。区区码码和和位位码码各各用用一一个个字字节节(实实际际上上只只要要七七位位二二进进制制)来来表表示示。为为了了能能识识别别哪哪些些字字节节表表示示ASCII码码,哪哪些些字字节节表表示示汉汉字字编编码码,一一般般采采用用多多余余的的一一位位

50、(最最高高位位)来来标标识识。最最高高位位为为0时时,表表示示ASCII码码,最最高高位位为为1时时表表示示汉汉字字编编码码。为为了了在在终终端端显显示示器器或或绘绘图图仪仪上上输输出出字字符符,系系统统中中必必须须装装备备有有相相应应的的字字符符库库。字字符符库库中中储储存存了了每每个个字字符符的的形形状状信信息息。字字符符库库分分为为矢矢量量型型和和点阵型两种。点阵型两种。在在笔笔式式绘绘图图仪仪上上采采用用矢矢量量型型字字符符比比较较适适合合,矢矢量量型型字字符符库库采采用用矢矢量量代代码码序序列列表表示示字字符符的的各各个个笔笔画画,输输出出一一个个字字符符时时,系系统统中中的的字字符

51、符处处理理器器解解释释该该字字符符的的每每个个矢矢量量代代码码,输输出出对对应应的的矢矢量量,达达到到产产生生字字符符的的目目的的。在在终终端端显显示示器器上上显显示示字字符符一一般般采采用用点点阵阵型型字字符符库库。点点阵阵型型字字符符库库为为每每个个字字符符定定义义一一个个字符掩膜,即表示该字符的象素图案的一个点阵。字符掩膜,即表示该字符的象素图案的一个点阵。摘乘稍毁窝扛借粉浅居藤惺枯爸弘全呜绢蔫癣搬烦釉葛喊鸥散祭晦楚配烬四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024矢量字符矢量字符为为了了建建立立一一个个矢矢量量字字符符库库,必必须须对对每每个个字字符符定定义义一

52、一个个矢矢量量代代码码序序列列,下下面面以以AutoCAD系系统统使使用用的的矢矢量量字字符符来来说说明明。在在AutoCAD中中,使使用用一一种种称称为为形形(shape)的的图图形形实实体体来来定定义义西西文文字字符符、汉汉字字甚甚至至一一些些简简单单的的图图形形。形形定定义义中中使使用用直直线线和和圆圆弧弧作为基本笔划。作为基本笔划。每个形的定义包括一个标题行和若干个描述行:每个形的定义包括一个标题行和若干个描述行:*形编号,字节数,形名称字节形编号,字节数,形名称字节1字节字节2,0标标题题行行中中,形形编编号号是是1到到255的的整整数数值值。字字节节数数表表示示形形定定义义描描述述

53、行行中中包包括括结结束束符符0在在内内的的字字节节数数目目。形形名名称称用用大大写写字字母母才才可可以以被被调调用用,否否则则只只作作为为形形的的一一种种解解释释性性信信息息,不存入存储器,因而不占用存储空间。不存入存储器,因而不占用存储空间。描描述述行行由由若若干干个个用用逗逗号号隔隔开开的的字字节节组组成成,并并以以0作作为为形形定定义义的的结结束束字字节节。带带有有前前缀缀0的的字字节节是是十十六六进进制制。无无前前缀缀0的的字字节节是是十十进进制制。描描述述行行中中的的每每个个字字节节包包含含矢矢量量长长度度和和方方向向两两种种信信息息。字字节节的的低低四四位位表表示示矢矢量量方方向向

54、,高高四四位位表表示示矢矢量量长长度度。矢矢量量的的方方向向编编码码如如图图所所示示。注注意意,图图3-32中中所所有有矢矢量量都都具具有有“相相同同“的的长长度度,即即不不同同方方向向的的矢矢量量的的长长度不一样。例如,度不一样。例如,45 方向的矢量一个单位长相当于水平方向的方向的矢量一个单位长相当于水平方向的 2 单位长。单位长。图所示的二极管符号的形定义为:图所示的二极管符号的形定义为:*133,11,DIODE040,044,04C,042,04C,040,048,04C,046,04C,0形描述的第一个字节形描述的第一个字节040中,最高位中,最高位0表示表示本字节为十六进制数。后

55、面两位数本字节为十六进制数。后面两位数4和和0分分别表示字节的高四位和低四位。高四位的别表示字节的高四位和低四位。高四位的4表示矢量长度为表示矢量长度为4,低四位的,低四位的0表示矢量表示矢量方向为水平向右方向。方向为水平向右方向。曰面棵搭纠蘑鳞骑怜吉郝苗海篷笋眉匠悔餐迈变越慕赃撤婆婪驮墟旅压迪四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024点阵字符点阵字符在在点点阵阵字字符符库库中中,每每个个字字符符都都定定义义成成一一个个字字符符掩掩膜膜的的矩矩阵阵。矩矩阵阵中中的的每每个个元元素素都都是是一一位位二二进进制制数数。该该位位为为1时时,表表示示字字符符的的笔笔划划经经

56、过过此此位位,对对应应于于此此位位的的象象素素应应置置为为字字符符颜颜色色;该该位位为为0时时,表表示示字字符符的的笔笔划划不不经经过过此此位位置置,对对应应此此位位的的象象素素应应置置为为背背景景色色(若若当当前前的的写写方方式式是是“替替换换“方方式式)或或不不改改变变(若若当当前前写写方方式式是是“与与“方方式式)。一一般般认认为为定定义义西西文文字字符符的的掩掩膜膜矩矩阵阵尺尺寸寸应应不不小小于于5 7,而而定定义义汉汉字字字字符符的的掩掩膜膜矩矩阵阵尺尺寸寸应应不不小小于于16 16。在在我我国国广广泛泛使使用用的的微微机机汉汉字字系系统统,如如CCDOS等等等等,都都采采用用16

57、16点点阵阵汉汉字字作作为为显显示示用用字符,而在打印时,采用字符,而在打印时,采用24 24,40 40甚至甚至72 72的点阵字符。的点阵字符。一一个个5 7西西文文字字符符点点阵阵包包括括35个个点点,需需要要35位位,故故需需要要35位位二二进进制制数数(占占四四个个多多字字节节),一一个个16 16点点阵阵汉汉字字,需需要要256位位,即即32个个字字节节。而而一一个个72 72点阵汉字需要点阵汉字需要9 72=648个字节。个字节。用用于于打打印印的的高高分分辩辩率率点点阵阵字字符符的的掩掩膜膜位位图图,可可以以是是通通过过用用扫扫描描仪仪输输入入放放大大的的手手写写美美术术字字符

58、符或或印印刷刷字字符符,扫扫描描输输入入进进来来的的字字符符可可用用交交互互作作图图程程序序对对位位图图的的个个别别象象素素进进行行修修改改,使使之之完完善善。用用于于显显示示的的或或用用于于低低分分辩辩率率打打印印机机的的字字符符位位图图可可以以使使用用交交互互绘绘图图程程序序,通通过过手手工工建建立立。用用低低分分辩辩率率点点阵阵字字符符产产生生的的字字符符一一般般比比较较粗粗糙糙,不不美美观观,所所以以在在微微机机上上通通常常使使用用几几个个不不同同分分辩辩率率的的字字符符库库,以以满满足足不不同同的的需需要要,例例如如在在CCDOS4.0中中就就使使用用了了24种种不不同同的的字字符库

59、。符库。业识靳嘻唐庇卤果大问哗荧骆锌专碴瞧粱舍蒋秘刷烦耻醚葫拟烽秸呜凳舟四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024字型技术字型技术当当应应用用对对输输出出字字符符的的要要求求较较高高时时(如如排排版版印印刷刷),需需要要使使用用高高质质量量的的点点阵阵字字符符。然然而而直直接接使使用用上上一一小小节节所所介介绍绍的的点点阵阵字字符符方方法法将将耗耗费费巨巨大大的的存存储储空空间间。对对于于GB231280所所规规定定的的6763个个基基本本汉汉字字,假假设设每每个个汉汉字字是是72 72点点阵阵,那那么么一一个个字字库库就就需需要要4.4兆兆字字节节存存储储空空间间

60、!在在实实际际使使用用时时,需需要要多多种种字字体体(如如基基本本体体、宋宋体体、仿仿宋宋体体、黑黑体体、楷楷体体等等),而而每每种种字字体体又又需需要要十十种种以以上上字字号号。因因此此把把每每种种字字体体、字字号号的的字字符符都都存存储储一一个个对对应应的的点阵,在一般情况是不可行的。点阵,在一般情况是不可行的。解解决决这这个个问问题题一一般般采采用用压压缩缩技技术术。对对字字型型数数据据压压缩缩后后再再存存储储,使使用用时时,将将压压缩缩的的数数据据还还原原为为字字符符位位图图点点阵阵。压压缩缩方方法法有有多多种种,最最简简单单的的有有黑黑白白段段压压缩缩法法,这这种种方方法法简简单单,

61、还还原原快快,不不失失真真,但但压压缩缩较较差差,使使用用起起来来也也不不方方便便,一一般般用用于于低低级级的的文文字字处处理理系系统统中中,二二是是部部件件压压缩缩法法。这这种种方方法法压压缩缩比比大大,缺缺点点是是字字型型质质量量不不能能保保证证。三三是是轮轮廓廓字字型型法法,这这种种方方法法压压缩缩比比大大,且且能能保保证证字字符符质质量量,是是当当今今国国际际上上最最流流行行一一种种方方法法,基基本本上上也也被被认认为为是是符符合合工工业业标标准准化化的的方方法法。轮轮廓廓字字型型法法采采用用直直线线、或或者者二二三三次次/Bezier曲曲线线的的集集合合来来描描述述一一个个字字符符的

62、的轮轮廓廓线线。轮轮廓廓线线构构成成一一个个或或若若干干封封闭闭的的平平面面区区域域。轮轮廓廓线线定定义义加加上上一一些些指指示示横横宽宽、竖竖宽宽、基基点点、基基线线等等的的控控制制信信息息就就构构成成了了字字符符的的压压缩缩数数据据。这这种种控控制信息用于保证字符变倍时引起原来的横宽竖宽变大变小时,其宽度在任何点阵制信息用于保证字符变倍时引起原来的横宽竖宽变大变小时,其宽度在任何点阵情况下永远一致。采用适当的区域填充算法,情况下永远一致。采用适当的区域填充算法,可以从字符的轮廓线定义产生字符位图点阵,可以从字符的轮廓线定义产生字符位图点阵,区域填充算法可以用硬件实现,做在区域填充算法可以用

63、硬件实现,做在RISC集成电路板上成为集成电路板上成为RIP(Raster Image Processor)。也可以用软件实现,写成一段。也可以用软件实现,写成一段精心编制的程序。精心编制的程序。焦芝忘缴瀑帚礼院刹盐循霍膏乍藻埃颧锁攻砸奉况滔疚氏助任铣拽靴备念四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024字型技术字型技术当当前前国国际际流流行行的的TrueType字字型型技技术术是是由由美美国国Apple和和Microsoft公公司司联联合合开开发发的的。并并且且已已被被用用于于为为Windows中中文文版版生生成成汉汉字字字字库库。TrueType使使用用二二次次Be

64、zier曲曲线线来来描描述述字字符符轮轮廓廓,对对字字符符轮轮廓廓线线的的控控制制点点进进行行编编号号。其其顺顺序序是是按按顺顺时时针针方方向向走走一一圈圈,填填充充的的部部分分始始终终在在其其右右边边,下下面面以以大大写写字字母母为例,说明为例,说明TrueType字库控制信息。字库控制信息。x方向控制信息有:方向控制信息有:1) 字身最左起始点到字母主干的距离间隔;字身最左起始点到字母主干的距离间隔;2) 字母主体部分的宽度;字母主体部分的宽度;3) 字身的宽度;字身的宽度;4) 字母主干(字母主干(stem)的宽度;)的宽度;5) 字母的衬线字母的衬线(Serif)如图如图 (a)所示。

65、所示。y方向控制信息有:方向控制信息有:6) 字母横干字母横干(crossbar)的厚度;的厚度;7) 字母衬线的厚度;字母衬线的厚度;8) 字母主体部分的厚度;字母主体部分的厚度;9) 字母横干的高度;字母横干的高度;如图如图 (b)所示。所示。这这上上述述9个个参参数数用用于于产产生生控控制制信信息息表表。这这个个控控制制信信息息表表和和曲曲线线轮轮廓廓定定义义信信息息将将在在不不同同分辩率情况下产生字符的点阵中起关键作用。分辩率情况下产生字符的点阵中起关键作用。这这种种方方法法能能够够准准确确地地把把字字符符的的信信息息描描述述下下来来,保保证证了了还还原原的的字字符符质质量量,又又对对

66、字字型型数数据据进进行行了了大大量量的的压压缩缩。调调用用字字符符时时,可可以以任任意意地地放放大大、缩缩小小或或进进行行花花样样变变化化,基基本本上上能能满满足足电电子子印印刷刷中中字字型型质质量量的的要要求求。一一套套字字型型的的生生产产周周期期大大于于1个个人人年年,最最早早的的生生产产方方法法是是由由写写字字专专家家写写出出字字符符,然然后后把把字字符符托托到到96 96方方格格纸纸上上,在在96 96方方格格纸纸上上人人为为地地画画出出矢矢量量节节点点,最最后后由由操操作作员员录录入入计计算算机机。现现在在使使用用的的一一般般方方法法是是用用扫扫描描仪仪把把字字型型数数字字化化,用用

67、程程序序自自动动地地进进行行矢矢量量轮轮廓廓的的生生成成,再再由由操操作作员员对矢量结果进行调整优化,做成合格的字型。好的字型数据是来之不易的对矢量结果进行调整优化,做成合格的字型。好的字型数据是来之不易的!蛆忱洱必痪肌兔躲妓廊熄喇幌瞻格螟甲疥溃歼侣式逢论原妥血毕涅侧彬咳四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024字符裁剪字符裁剪当当字字符符或或文文本本整整个个不不在在窗窗口口时时,则则不不予予显显示示。然然而而,当当字字符符和和文文本本部部分分在窗口内,部分在窗口外时,就提出了字符裁剪的问题。在窗口内,部分在窗口外时,就提出了字符裁剪的问题。字字符符精精度度:最最简

68、简单单的的字字符符裁裁剪剪方方法法是是把把字字符符方方框框(即即字字符符掩掩膜膜)与与窗窗口口比较。若整个方框位于窗口内,则显示对应字符,否则不予显示。比较。若整个方框位于窗口内,则显示对应字符,否则不予显示。象象素素精精度度:有有些些应应用用要要求求更更准准确确的的处处理理:即即使使字字符符只只有有一一部部分分在在窗窗口口内内,也也要要把把这这一一部部分分显显示示出出来来。若若字字符符为为点点阵阵型型的的,只只要要在在把把字字符符掩掩膜膜各各位位写写入入象象素素之之前前,先先判判断断该该位位对对应应的的象象素素是是否否在在窗窗口口内内,若若该该位位在在窗窗口口内内则写,否则就不写。则写,否则

69、就不写。笔笔划划精精度度:在在字字符符为为矢矢量量型型的的情情形形,问问题题就就更更复复杂杂一一些些。这这时时要要对对跨跨越越窗窗口口边边界界的的笔笔划划进进行行裁裁剪剪,裁裁去去笔笔划划伸伸到到窗窗口口外外的的部部分分,保保留留笔笔划划在在窗窗口内的部分,这个问题可以转化为线段的裁剪。口内的部分,这个问题可以转化为线段的裁剪。字字符符串串裁裁剪剪,可可以以按按三三个个精精确确度度来来进进行行:串串精精确确度度、字字符符精精确确度度、以以及及笔笔划划象象素素精精确确度度。采采用用串串精精确确度度进进行行裁裁剪剪时时,当当字字符符串串方方框框整整个个在在窗窗口口内内予予以以显显示示,否否则则不不

70、显显示示。采采用用字字符符精精确确度度时时,当当字字符符串串的的某某个个字字符符方方框框整整个个在在窗窗口口内内时时,显显示示该该字字符符,否否则则不不显显示示。当当采采用用笔笔划划象象素素精精度度时时,要要具具体体判判断断字字符符串串中中各各字字符符的的哪哪些些象象素素、笔笔划划的的哪哪一一部部分分在在窗窗口内,处理方法同字符裁剪。口内,处理方法同字符裁剪。忻摊蹦换佃秩阔窒熬骇傣创棚和周荣指庙辰怯烟璃帝城终叔瓤荐盒纱搭佳四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024反走样反走样在在光光栅栅图图形形显显示示器器上上绘绘制制直直线线、多多边边形形等等连连续续图图形形时时,

71、由由于于光光栅栅是是由由离离散散的的点点组组成成,因因此此使使生生成成的的图图形形呈呈锯锯齿齿状状,从从而而使使图图形形出出现现失失真真。这这种种离离散散量量表表示示连连续续量量引引起起的的失失真真就就叫叫走走样样(aliasing)。用用于于减减少少或或克克服服这这种种效效果果的的技技术术叫叫做做反反走走样样(antialiasing)。光光栅栅图图形形的的走走样样现现象象除除了了产产生生锯锯齿齿状状之之外外,还还有有图图形形的的细细节节失真及狭小失真及狭小图图形形遗遗失等失等现现象象当当在在光光栅栅图图形形显显示示器器上上显显示示如如图图 (a)所所示示的的许许多多细细长长矩矩形形时时,由

72、由于于仅仅当当象象素素中中心心被被这这些些矩矩形形覆覆盖盖时时才才被被显显示示,因因而而造造成成图图形形失失真真,即即将将图图形形中中细细节节丢丢失失,称称为为细细节节失失真真。图图 (b)即即为为(a)的的失失真真图图形形。此此外外还还有有一一种种叫叫狭狭小小图图形形遗遗失失的的走样,即在进行图形显示时一些相对微小的物体被丢失或忽略。走样,即在进行图形显示时一些相对微小的物体被丢失或忽略。走样现象还会使得动态图形时隐时现、产生闪烁。如对于一个狭小的长方形走样现象还会使得动态图形时隐时现、产生闪烁。如对于一个狭小的长方形从上往下进行运动时,由于图形忽显忽不显,给人的感觉就象是一明一暗的从上往下

73、进行运动时,由于图形忽显忽不显,给人的感觉就象是一明一暗的间断闪烁。所以,为了提高图形显示质量,需要反走样技术。间断闪烁。所以,为了提高图形显示质量,需要反走样技术。德涟莎冷弯罐茫馋婉那瞩宗罩抛四愧恩针辐雾爹遵侈练龄鹿减欧快甫瑞甭四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024通过提高分辩率反走样通过提高分辩率反走样可以采用提高分辩率的方法进行反走样,因为用高分辩率显示器所显可以采用提高分辩率的方法进行反走样,因为用高分辩率显示器所显示的图形与低分辩率相比质量高,锯齿就不明显。示的图形与低分辩率相比质量高,锯齿就不明显。提高分辩率的方法提高分辩率的方法有二种:有二种:采用

74、高分辩率的光栅图形显示器,但是代价太高,故不是好办法。采用高分辩率的光栅图形显示器,但是代价太高,故不是好办法。用软件实现,代价小易于实现。其方法是:高分辩率计算,低分辩用软件实现,代价小易于实现。其方法是:高分辩率计算,低分辩率显示,具体做法是:将低分辩率的图形象素划分为许多子象素如率显示,具体做法是:将低分辩率的图形象素划分为许多子象素如2 2,3 3划分,然后按通常的方法扫描变换各个子象素的颜色值或划分,然后按通常的方法扫描变换各个子象素的颜色值或灰度值,再进行低分辩率显示,将一个象素内的各子象素的颜色值或灰度值,再进行低分辩率显示,将一个象素内的各子象素的颜色值或灰度值的平均值作为该象

75、素显示的颜色值或灰度值。灰度值的平均值作为该象素显示的颜色值或灰度值。(扩大分辨率扩大分辨率,再再扫描变换扫描变换,按低分辨率组合单元求颜色平均值按低分辨率组合单元求颜色平均值,最后再显示低分辨率结最后再显示低分辨率结果果.)坏恼澈晚翅氦渊萍稻蝶园烁库滥蹄附攒润扼当综奋尚浇锅越抬颅母杜伊趁四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024简单的区域反走样算法简单的区域反走样算法直直线线斜斜率率为为:0 m 1,直直线线与与象象素素相相交交的的面面积积如如图图所所示,三角形和梯形。示,三角形和梯形。图图 (a)相交面积为相交面积为三角形三角形:S=D L 1/2=D2/(2m

76、)其其 中中 m=D/L=tg ,L=D/m对对于于图图 (b),相相交交面面积积为为梯形梯形:S=(DL) 1/2其中其中 L=Dm,故,故S=(2Dm)/2=D-m/2所所得得面面积积是是小小于于1的的正正数数,以以此此来来获获取取相相应应的的灰灰度度级级进行显示。进行显示。1 1mm 名岛箩岛尔锥爪润精店霄丘肺仅绥架祈哆咖颜限电炒堤燃辩缚亲炕除蕉迫四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024为了实现反走样,可对图为了实现反走样,可对图形信号作含核的卷积,卷形信号作含核的卷积,卷积积分为:积积分为:c( )= h( x)y(x)dx其中其中h( x)是函数的卷是函

77、数的卷积核,积核,y(x)是被卷积的函是被卷积的函数,数,c( )是是h( x)和和y(x)的卷积。的卷积。卷积积分与反走样算法卷积积分与反走样算法- 例如卷积核如图所示。例如卷积核如图所示。然后将这一卷积核然后将这一卷积核h(x),反射核,反射核h(x)及平移核及平移核h( x)与卷积与卷积函数函数y=x相乘得结果如图。相乘得结果如图。卷积核、反射核及平移核的表卷积核、反射核及平移核的表达式为:达式为:h(x)y(x) 0,2-0.50.5-12110 0闪吮喳幕鹤篆橡吸紧黄陶婪怪哗醉怪充崇狞七乡密缴嫌奴伤瞻拴允绽是磺四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024故有

78、故有 c( )= h( x)y(x)dx0 1 = h( x)y(x)dx = h( x)y(x)dx1 2代入:代入:h( x)1 ,y(x)=x有有 c( )= (1) (x)dx= 2/2 0 1 = xdx = /2 (2 ) 1 2若若y(x)的斜率为的斜率为m,则结果为,则结果为m 2/2及及m /2 (2 )这这样样c( )可可与与反反走走样样处处理理中中计计算算象象素素位位于于多多边边形形内内面面积积结结合合起起来来,根根据据c( )的的取取值值决决定定象象素素的的灰灰度度级级。这这就就是是所所谓谓的的图图形形卷卷积积滤滤波波,卷卷积积核核称称为为滤滤波波函函数数。对对于于滤滤

79、波波方方法法还还有有三三角角形形滤滤波波器器及及高高斯斯滤滤波波器器,也也有有二二维维滤滤波波器器。上上面面讨讨论论的的简简单单的的面面积积方方法法是是对对图图像像进进行前置滤波。行前置滤波。c( )在在0 x 2时时不不为为零零,所所以以卷卷积积积积分分等等价价于于将将卷卷积积核核平平移移、反射后与卷积函数相乘,求得组合曲线下的面积。反射后与卷积函数相乘,求得组合曲线下的面积。 -11 0- 0 -11角拨汀旅桔赛酬造乡企戈肾啊穴钡酌篓圾炬嫌屎淳棋碍怒器讶分袭辨赌将四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024前面所介绍的反走样技术,都是利用多级光前面所介绍的反走样技

80、术,都是利用多级光强提高视觉分辩率的技术,而半色调技术则强提高视觉分辩率的技术,而半色调技术则是用最少的光强级别,一般为黑与白来提高是用最少的光强级别,一般为黑与白来提高视觉分辨的。对于给定的分辩率,通过将几视觉分辨的。对于给定的分辩率,通过将几个象素被组合成一个单元来获得多级光强。个象素被组合成一个单元来获得多级光强。如在黑白显示器中将四个象素组成一个单元,如在黑白显示器中将四个象素组成一个单元,可以产生可以产生5种光强,如右上图种光强,如右上图 (a)。而。而(b)、(c)不是组合出来的光强模式,因为采用)不是组合出来的光强模式,因为采用(b)、( c )会产生细微的结构图,如水平或垂会产

81、生细微的结构图,如水平或垂直的光线条。直的光线条。一般来说,对于两级灰度显示器可能构成的一般来说,对于两级灰度显示器可能构成的光强数等于单元中象素个数加光强数等于单元中象素个数加1。增大单元。增大单元尺寸可以获得更多的灰度数,如图中为尺寸可以获得更多的灰度数,如图中为3 3单元。单元也可以为长方形,如右图下。单元。单元也可以为长方形,如右图下。可见,单元越大,产生的光强就越多。半色可见,单元越大,产生的光强就越多。半色调技术是以牺牲空间分辩率为代价的,它的调技术是以牺牲空间分辩率为代价的,它的成功与人们的视觉系统引起的调和平滑离散成功与人们的视觉系统引起的调和平滑离散信息的积分作用分不开。信息的积分作用分不开。通过上面的讨论,对于图形的走样可以采用通过上面的讨论,对于图形的走样可以采用不同的方法来克服,这里只做了简单的说明不同的方法来克服,这里只做了简单的说明半色调技术半色调技术戍综龋除颤樊典衍朽流剪列骗射域拖叮豆焊验绥礼菇聋饰织仙汝孟澄韭巢四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024傻摹命沥郑根示净邹捧狮牛愉档衰净铡死浮烧萄疹父酝翔屯咽琳宋撮汛诀四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024光砖普空堰乖仑汗提踩宰体滥翔睹坷识仍娇廓称将阀减癸厢秽贿锥瞬羡刻四讲二维图形填充ppt课件四讲二维图形填充ppt课件7/22/2024

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号