第3章扫描线填充、种子填充、线宽和线型课件.ppt

第3章扫描线填充、种子填充、线宽和线型课件.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章扫描线填充、种子填充、线宽和线型课件.ppt

1、画笔或画刷的选择 在图形处理软件中,可通过选择设置笔和刷的方式来画线。 这种类型的选项包括形状、尺寸和式样(画笔或画刷的图案)。 2、线宽的处理 线宽的选择和实现取决于输出设备的能力 光栅实现 标准线宽是用像Bresenham算法那样在每个放样位置处用一个象素来生成。 其它线宽是作为标准线的正整数倍通过沿相邻平行线路径画额外的象素而显示的。 平滑连接解决第三个问题 注意: 假如两连接线段间的夹角很小,斜角连接会产生一个长的尖峰而使折线变形。图形软件包可通过当任何两连接的线段在足够小角度相遇时切换到斜切连接来避免这种情况。 在图形系统中使用具有不同线型的线条来表示不同的含义。四种常用的线型有 实线(Solid Line) 长划线(Dashed Line) 短划线(Dotted Line) 点划线(Dash-Dotted Line) 其余线型通常可以通过对长划和短划的不同组合来得到 基本思路:程序开始,先检测该点的颜色,如果它与边界色和填充色均不相同,就用填充色填充该点,然后检测相邻位置,以确定它们是否是边界色和填充色,若不是,就填充该相邻点。这个过程延续到已经检测完区域边界范围内的所有像素为止。 0 1 2 3 4 5 4 3 2 1 0 S1 从当前点检测相邻像素有两种方法: (1)四向连通方法:指的是从区域上一点出发,可通过四个方向,即上、下、左、右移动和组合,在不越出区域的前提下,到达区域内的任意像素; (2)八向连通方法:指的是区域内每一个像素,可以通过左、右、上、下、左上、右上、左下、右下这八个方向的移动的组合来到达。 种子填充算法(四向算法):允许从四个方向寻找下一象素,栈结构实现。 算法:种子象素入栈(先进后出),当栈非空时,重复执行: 栈顶象素出栈; 将出栈象素置成多边形色; 按上、下、左、右的顺序检查与出栈象素相邻的四个象素,若其中某个象素不在边界上且未置成多边形色,则把该象素入栈。 可用于填充带内孔的平面区域。 例:多边形由P0P1P2P3P4构成,P0(1,5)P1(5,5)P2(7,3)P3(7,1)P4(1,1) 设种子点为(3,3),有哪些信誉好的足球投注网站的方向是上、下、左、右。依此类推,最后像素被选中并填充的次序如图中箭头所示 (画图) 缺点: (1) 有些象素会入栈多次,降低算法效率;栈结构占空间。 (2) 递归执行,算法简单,但效率不高,区域内每一象素都引起一次递归,进/出栈,费时费内存。 改进算法,减少递归次数。 解决方法是用扫描线种子填充算法; 2、扫描线种子填充算法 目标:减少递归层次 适用于边界表示的4连通区域 算法思想:在任意不间断区间中只取一个种子像素(不间断区间指在一条扫描线上一组相邻像素),填充当前扫描线上的该段区间;然后确定与这一区段相邻的上下两条扫描线上位于区域内的区段,并依次把它们保存起来,反复进行这个过程,直到所保存的个区段都填充完毕。 算法步骤: Step1:栈顶象素出栈, Step2:沿扫描线对出栈象素的左右象素进行填充,直到遇到边界象素为止,即填充区间。 算法对于每一个待填充区段,只需压栈一次;因此,扫描线填充算法提高了区域填充的效率。 举例分析 该算法也可以填充有孔区域。 像素中的序号标指它所在区段位于堆栈中的位置 三、图案填充算法 图案填充算法 实际应用中,有时需要用一种图案来填充多边形区域。这可以通过对前述填充算法中写像素的那部分代码稍作修改来实现。 填充步骤: 1 确定区域内一个填充位置。 2 查询图案位图的对应位置。 图案表的对应位置为1 其余 透明方式 填充图案 不透明方式 填充图案 图案位图对应位置为1 图案位图对应位置为0 前景色 不改变 前景色 背景色 把图案原点与填充区域边界或内部的某点对齐; 对齐方式 把图案原点与填充区域外部的某点对齐 第一种方式填充的图案,将随着区域的移动而跟着移动,看起来很自然。 第二种方法比较简单,并且在相邻区域用同一图案填充时,可以达到无缝连接的效果,但当区域移动时,图案不会跟着移动。结果是区域内的图案变了 四、线宽与线型的处理 线显示的笔和刷形状 线路径 长方形边的象素标记与通过将标记在指定象素位置对中而显示的相关的象素数组 用上图中的笔形状生成线 线刷子 方形刷子 圆形刷子 棱形刷子 光栅设备(视频监视器) 用相邻的平行线进行显示 矢量设备(笔式绘图仪) 可能需要更换画笔 常用的线宽的处理方法有 重复像素法 移动画笔法 区域填充法 (1)重复像素法 对扫描转换算法的内循环作修改, 将原来绘制单个像素的语句改写 成以该像素为中心绘制水平或垂直 排列的多个像素

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档