- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机网络第四讲
* * * * * * * * * * * * * * * * * * * * * * * 1 2 46 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 P 递归填充算法(上下左右): Void Fill(int x,int y,int bcolor, int ncolor) { CClientDC dc(this); … int color; color = dc.GetPixel(x,y); if ((color!=bcolor)(color!=ncolor)) { dc.SetPixel( x, y, ncolor); Fill(x, y+1, bcolor, ncolor); Fill(x, y -1, bcolor, ncolor); Fill(x -1, y, bcolor, ncolor); Fill(x +1, y, bcolor, ncolor); } } 思考:如果换成左上右下的顺序呢? 2.内点表示的四连通区域种子填充算法 基本思想:从多边形内部任一点像素出发,按照“左上右下”的顺序判断相邻像素,如果是区域内的像素,则对其填充,并重复上述过程,直到所有像素填充完毕,常称为漫水法。 可以使用栈结构来实现该算法,种子像素入栈,当栈非空时,重复执行如下操作:(与边界表示类似) (1)栈顶像素出栈; (2)将出栈像素置成多边形填充的颜色; (3)按“左上右下”的顺序检查与出栈像素相邻的四个像素,若其中某个像素不在边界上且未置成多边形色,则把该像素入栈。 算法特点: 可以用于填充带有内孔的平面区域。 把太多的象素压入堆栈,有些象素会入栈多次,降低算法效率;栈结构占空间 改进: 减少递归次数,提高效率。通过沿扫描线填充水平象素段,来代替处理4-邻接点和8-邻接点。方法之一:扫描线填充算法 3.扫描线种子填充算法 基本思想:在任意不间断区间(一条扫描线上的一组相邻像素)中,只取一个种子像素,填充当前扫描线上的该段区间,然后确定与这一区段相邻的上下两条扫描线位于区域内的区段,并依次把它们保存起来,反复进行这个过程,直到所保存的每个区段都填充完毕。 算法执行步骤: 1)初始化:堆栈置空,将种子点(x,y)入栈。 2)出栈:若栈空则结束,否则栈顶元素(x,y)出栈,并以y值作为当前扫描线号。 3)填充并确定种子点所在区段:从种子点(x,y)出发,沿当前扫描线向左、向右两个方向逐个像素填充,直到遇到边界像素为止。分别标记区段的左、右端点坐标为xl和xr。 4)确定新的种子点:在区间[xl,xr]中检查与当前扫描线y相邻的上、下两条扫描线上的像素。若存在非边界、未填充的像素,则把每一区间的最右(或最左)像素作为种子点压人堆栈,返回第(2)步。否则直返回第2)步。 填充过程举例: 2.5 字符的生成与显示 ASCI码:“美国信息交换用标准代码集”(American Standard Code for Information Interchange),简称ASCI码。 国际码:“中华人民共和国国家标准信息交换编码,简称为国际码,代号GB2312-80。 字库:字库中储存了每个字符的图形信息。 矢量字库和点阵字库 矢量字符 矢量型字符库采用矢量代码序列表示字符的各个笔画; 点阵字符 每个字符定义为称为字符掩膜的矩阵,其中的每个元素为一位二进制数,为1表示字符的笔画经过此位,该象素置为字符颜色;若为0,表示字符的笔画不经过此位,该象素置为背景颜色。 点阵字符是由一个位图表示的,保存字符就是保存表示它的位图; 点阵字符的显示:首先从字库中将它的位图检索出来,然后将检索得到的位图写到桢缓存中,进行显示。 使用点阵式字符时,需将字库中的矩形点阵复制到缓冲器中指定的单元中去。在复制过程中,可以施加变换,以获得简单的变化。 下图列出了以字母P为原型的一些变化例子。 点阵式字符及其变化 一个字符由构成它的笔画组成,每一笔画由其两端确定;每一端点,保存它的坐标值和由前一端点到此端点是否连线的标志即可; 表示一个矢量字符仅仅需要所有端点的坐标信息及是否连线标志; 形(字)的定义: *形编号,字节数,形名称,字节1,字节2,…,0 其中字节中包含了矢量长度和方向两种信息; 矢量字符的显示:首先检索表示该字符的数据,然后取出端点坐标,几何转换,根据各端点的标志进行显示; 曲线表示字符; 矢
您可能关注的文档
最近下载
- 西门子 go topCT 中文版.pdf VIP
- 复合材料【全套课件】.ppt VIP
- 复合材料 第八章 先进复合材料.ppt VIP
- 人教版八年级物理第九单元《压强》测试题及答案.doc VIP
- 《复合材料学》全套教学课件.pptx
- 复合材料复合材料导论.ppt VIP
- 2025年闽教版(2024)小学英语四年级上册(全册)教学设计(附目录P123).docx
- 冠心病的介绍与治疗PPT.pptx VIP
- 2025云南昆明巫家坝建设发展有限责任公司及下属公司第三季度招聘23人笔试参考题库附答案解析.docx VIP
- 2.2.3 气候——特征和影响因素(课件)八年级地理上册(人教版).pptx VIP
文档评论(0)