1 / 113
文档名称:

05 基本图形处理技术.ppt

格式:ppt   页数:113
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

05 基本图形处理技术.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

05 基本图形处理技术.ppt

文档介绍

文档介绍:第5章基本图形处理技术
提纲:
1. 区域填充;
2. 线宽与线型处理
3. 字符显示与处理
4. 裁剪处理
5. 反走样技术
区域填充
区域填充的任务是在一个封闭的区域中的所有像素,用一种颜色或图案位图来显示。区域填充可以分两步进行,第一步先确定填充的区域,第二步确定用什么颜色值来填充。在本节中,我们首先讨论如何用单一颜色填充多边形与图形区域,然后再讨论图案填充。
多边形域的填充

这里讨论的是任意多边形,多边形域可以是凸的、凹的或带孔的。一种常用的填充方法是按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色显示这些区间的像素,即可以完成填充工作。区间的端点可以通过计算扫描线与多边形边界线的交点获得。
,扫描线6与多边形的边界线交于四点A、B、C、D。这四点把扫描线分为五个区间[0,2]、[2,]、[,7]、[7,11]、[11,12]。其中AB[2,],CD[7,11]两个区间落在多边形内,该区间内的像素应取多边形填充色,其他区间内的像素取背景色。
P1(2,2)
P2(5,1)
P3(11,3)
P5(5,5)
P4(11,8)
P6(2,7)
E
A
B
C
D
D
G
F
0 1 2 3 4 5 6 7 8 9 10 11 x
1
2
3
4
5
6
7
8
y
一个多边形与若干扫描线
这里的四个交点在计算时未必是按从左到右顺序获得。例如,当多边形采用顶点序列P1P2P3P4P5P6表示时,把扫描线6分别与P1P2、P2P3 、P3P4 、P4P5 、P5P6 、P6P1 六条边相交,得到交点序列为D、C、B、A,必须经过排序,按x递增的顺序排列交点顺序,才能得到从左到右排列的交点序列。
一般多边形的填充过程,对于一条扫描线,可以分为四个步骤:
(1)求交:计算扫描线与多边形各边的交点;
(2)排序:把所有交点按x递增顺序进行排序;
(3)交点配对:第一个与第二个,第三个与第四个,…,第2i-1与第2i个交点配对,其中,i取1~n。每对交点就代表扫描线与多边形的一个相交区间。
(4)区间填色:把这些相交区间内的像素置成多边形填充色,把区间外的像素置成背景色。
在多边形填充算法中,必须解决两个特殊的问题:一是当扫描线与多边形顶点相交时,交点的取舍问题。二是多边形边界上像素的取舍问题。前者用于保证交点正确配对,后者用于避免填充扩大化。
先讨论第一个问题。当扫描线与多边形顶点相交时,会出现异常情况。、P2、P5、P6点的扫描线,算几个交点,如果取舍不正确,交点配对和填充就会出现错误。
为了正确地进行交点取舍,必须按照下面的规则对交点进行取舍:
(1)扫描线交于一顶点,而共享该顶点的两条边分别落在扫描线的两边,则交点只算一个。(a)。
(2)扫描线交于一顶点,而共享该顶点的两条边在扫描线的同一边,这时交点作为零个或两个,这取决于该顶点是多边形的局部最高点(0个)还是局部最低点(2个)。(b)(c)。
A
B
C
A
B
C
C
B
A
(a) 取一个
(b) 取零个
(c) 取二个
扫描线与多边形顶点相交时交点的取舍
具体实现时,只需检查顶点的两体条边的另外两个端点的y值,如果两个y值中大于交点出y值的个数是0、1、2,那么交点分别取零个、一个或二个。
按照上述规则, ,算两个交点,这样P2 像素用多边形颜色设置。在顶点P1 处,只算一个交点。而在P6 处,交点算零个,即该点不予填充。
下面讨论第二个问题,即边界上像素的取舍问题。例如,对左下角为(1,1),右上角为(3,3)的正方形填充时,若对边界上所有的像素均进行填充,,被填充的像素覆盖的面积为3х3单位,而正方形的实际面积只有2х2单位。这种现象称为边界扩大化问题。为了克服这个问题,规定落在右/上边界的像素不予填充,而落在左/下边界的像素予以填充。在具体实现时,只要对扫描线与多边形的相交区间取左闭右开。容易看出,在解决第一个问题时,对交点的取舍方法保证了多边形的“下闭上开”,即丢弃上方水平边以及上方非水平边上作为局部最高点的顶点。
1
2
3
4
x
1
2
3
4
y
边界上像素的填充