反走样技术的研究与实现说明书论文

上传人:飞*** 文档编号:2614374 上传时间:2017-07-25 格式:DOC 页数:28 大小:903KB
返回 下载 相关 举报
反走样技术的研究与实现说明书论文_第1页
第1页 / 共28页
反走样技术的研究与实现说明书论文_第2页
第2页 / 共28页
反走样技术的研究与实现说明书论文_第3页
第3页 / 共28页
反走样技术的研究与实现说明书论文_第4页
第4页 / 共28页
反走样技术的研究与实现说明书论文_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《反走样技术的研究与实现说明书论文》由会员分享,可在线阅读,更多相关《反走样技术的研究与实现说明书论文(28页珍藏版)》请在金锄头文库上搜索。

1、杭州师范学院本科毕业论文 反走样技术的研究与实现1反走样技术的研究与实现说明书论文目 录摘要 iAbstract i第一章 引言 11.1研究背景 11.2 编程实验环境 2第二章 反走样概述 52.1 过取样技术 52.2 区域取样 72.3 WU像素反走样 122.4点取样 142.5象素移相 14第三章 反走样算法的改进 153.1 多段直线反走样算法 153.2 圆反走样算法 183.3位图反走样 19第四章 总结与展望 234.1总结 234.2进一步改进设想 23杭州师范学院本科毕业论文 反走样技术的研究与实现2参考文献 25第一章 引 言1.1 研究背景光栅图形显示器是目前使用最

2、广泛的图形显示器,因为它具有以下优点:光栅扫描显示器具有固定的刷新顺序,扫描从屏幕的左上角开始,从左到右,从上到下的顺序进行刷新,从而刷新控制部件得以简化,节约了成本。在光栅显示系统中,构成图形的最小图形元素是像素,这样只要计算屏幕上位于给定区域以内的所有像素,并且赋予一定的颜色,就完成了图形的绘制。光栅显示器中的图形由像素构成,而每一个像素又可呈现出多级灰度或不同的颜色值,颜色丰富,显示出来的图形具有更好的视觉效果。光栅扫描显示器是一个画点设备,与图形的复杂度无关,刷新频率固定,因此不会象随机扫描显示器那样出现闪烁现象,人眼看上去更舒服。但光栅显示器也有它的缺陷,图形信号是连续的,而光栅显示

3、系统中用来表示图形的却是一个个离散的像素。用离散的像素来表示连续的图形时会出现失真,也就称为走样,如图 1.1所示。图 1.1 锯齿状边界光栅显示系统为何会出现走样呢?光栅图形显示器是一个画点设备,被显示的线段、字符、图形及背景色都按像素点一一存储在帧缓冲存储器中。当我们要画一条直线时,它通常不可能完全精确地从一个可编址的像素点画一条直线到另一个可编址的像素点,只可能用尽可能靠近这条直线路径的像素点集来近似地表示这条直线。显然只有画水平线、垂直线时,像素点集在直线路径上的位置才是准确的,其他情况下的直线均或多或少地存在阶梯状(锯齿状)的现象。光栅图形的走样现象除了上述锯齿状边界外,还有图形细节

4、失真,狭小图形遗失等现象。杭州师范学院本科毕业论文 反走样技术的研究与实现3图 1.2 图形细节失真在光栅显示器上显示如图 1.2(a)所示的细长矩形时,出现了图形细节失真,其结果如图1.2(b)所示,原细长的矩形被显示成了加宽的矩形。图 1.3 狭小图形的遗失由于光栅系统中表示图形的最小单位是一个像素,图形中那些比像素更窄的细节丢失了,这就出现了图形细节失真现象。在图 1.3中,一些狭小的图形分布在两条扫描线之间,由于它不覆盖任何一个像素中心,故不会被显示出来。当这些狭小的图形进行运动时,覆盖像素中心时被显示出来,不覆盖像素中心时不被显示出来。这样在运动的过程中时隐时现,产生闪烁。为了提高图

5、形的显示质量,需要减少或消除上述走样现象。用于减少或消除这种走样现象的技术,称为反走样(Antialiasing) 。研究如何消除或减缓这类走样现象,给人视觉上产生更舒适光滑的图形,在图形界面已成为人机交互主流方式的今天,具有一定的应用价值。反走样技术能提高图形的显示质量,因此在很多画图软件中也采用了这种技术。优软电脑有限公司设计推出的新一代绘画程序-优软精灵画笔 2.0,在原有的各种绘画功能上,添加了一系列全新设计的绘画工具;可以打开外来 JPG,TAG,TIFF,GIF,BMP 文件;更新三维立体窗口系统;对压力感应笔高效率支持,速度和流畅度达到专业软件水准,让用户的体会更加细腻逼真。它的

6、精妙之处在于具有细笔尖反走样功能,所以使细笔画更细致更漂亮。反走样技术不仅能提高图形显示质量,而且在反走样汉字方面也有很好的效果。由于汉字的笔画很多 ,而且大多数非水平非垂直 ,也会产生较严重的走样现象。图 1.4中第 1 个字为追踪出的轮廓 ,第 2 个为显示的原始矢量字符。第 3 个为反走样处理后的矢量字符。杭州师范学院本科毕业论文 反走样技术的研究与实现4图 1.4矢量字体轮廓的反走样由此可见,反走样技术在实际应用中有十分重要的意义。另外 , 在处理纹理图形 , 以及在动画中闪烁的细小物体图形等问题中反走样技术都得到了广泛运用。1.2 编程实验环境本文采用的实验环境的是 C+ Build

7、er 6。C+ Builder由著名的 Borland公司开发,是Windows环境下功能强大的可视化 C+开发环境,它全面实现了 ANSIC+标准,并提供了自己的扩展,并且兼容 PC计算机上的两种最常用的 C+编译器,即 BorlandC+和 VisualC+。Borland C+和 VisualC+的程序几乎不用做任何修改,就可以在 C+ Builder下编译、运行。下面主要介绍在论文中使用最频繁的、与图形图象处理密切相关的组件及其属性和方法。1.2.1 TColor在计算机图形处理软件中,通常颜色是根据红、绿、蓝三种颜色的饱和度来定义的,这种模型称为RGB模型。任何颜色都是红、绿、蓝三种

8、基本色的不同组合组成,因此每种颜色都可以用红、绿、蓝基本色来表示。Red、Green、Blue用来表示基本色构成的三个分量,他们的取值为0-255,最小值表示没有颜色,最大值255表示最高的饱和度。TColor类型用于定义一个对象的颜色,很多组件的颜色属性就是TColor类型。同时C+ Builder定义了一些常用的颜色常量,可在程序中直接使用。比如clRed,clGreen等。1.2.2 TCanvas在C+ Builder中提供了一个TCanvas对象,它封装了Windows应用程序在图形输出方面所需要的大多数GDI对象和绘图命令。在这个区域上,程序可实现各种绘图功能,很多图形组件(如TI

9、mage、TPaintBox)的画布(Canvas)属性都是一个TCanvas对象。TCanvas的属性和方法很多,最常用的有: TCanvas的属性(1)Pixels属性Canvas的Pixels属性可以用来去顶像素的颜色。可以利用Pixels属性来获得某一点的颜色值,也可以通过它来设置某一点的颜色值,这个属性在反走样算法中起了相当重要的作用。如要获得坐标(20,20)的颜色值,可以使用下面的代码:TColor Color;Color=Canvas-Pixels2020;如果要将坐标点(10,20)的颜色设置为红色,可以使用如下代码:Canvas-Pixels1020=clRed;(2)画笔

10、属性TCanvas的画笔(Pen)属性是一个TPen对象。在用画布划线的时候,需要设置画笔的属性。对每一个画笔均可以选择不同的宽度,颜色,线型。我的论文中用到了颜色(Color)属性。该属性用于控制线的颜色,可以使用预定义的颜色或设置自己的颜色,例如:Canvas-Pen-Color=clBlue;杭州师范学院本科毕业论文 反走样技术的研究与实现5Canvas-Pen-Color=TColor (RGB(125,0,0);(3)画刷属性Canvas的画刷(Brush)属性是一个TBrush对象,它封装了标准的Windows刷子对象。画刷可以利用颜色和图案来填充矩形、多边形和圆等。使用画刷的Co

11、lor属性可以设置画刷的颜色,默认的画刷颜色是clWhite。例如:Canvas-Brush-Color=clRed;这个属性在清屏方法起着主要作用。(4)ClipRect属性ClipRect属性用于定义一个画图的矩形区域.在定义了一个剪切区域后,即使画的图形大于这个ClipRect,也不会画到这个区域的外面,同时FillRect属性可以用来填充矩形区域的颜色。 TCanvas的方法(1)画直线 绘制直线涉及到两个方法:MoveTo和LineTo。MoveTo(int startx,int starty)的任务是设置当前画笔的位置到(startx,starty),而不进行任何绘图工作。然后可以

12、调用LineTo(int endx,int endy)来画直线。它从当前画笔的位置画一条直线到点(endx,endy),并将当前的画笔位置改变为(endx,endy)。 (2)画椭圆弧线绘制椭圆弧线的方法比绘制直线方法要复杂一些。下面是最基本的椭圆弧线绘制函数:Arc(int X1, int Y1, int X2, int Y2, int X3, int Y3, int X4, int Y4);Arc方法画一段椭圆弧,椭圆由(X1,Y1),(X2,Y2)两点所确定的矩形所决定。弧的起点是椭圆圆周和椭圆中心与(X3,Y3)连线的交点。弧的终点是椭圆圆周和椭圆中心与(X4,Y4)连线的交点,以逆时

13、针方向画弧。在位图的反走样算法中所画的弧线都是由该函数实现的。(3)绘制矩形Rectangle的具体形式如下:Rectangle(int X1, int Y1, int X2, int Y2);Rectangle方法是在画布上用当前画刷绘制矩形,其中(X1,Y1)是矩形的左上角,(X2,Y2)是矩形的右下角。如果设置Brush的Style模式为bsClear,则可以绘制未填充的矩形。同时在论文中经常会用到清屏这个功能,它就是调用了FillRect方法,它是用指定的画刷填充矩形,并且绘制的矩形没有边框。具体形式如下:FillRect(const windows:TRect &Rect);杭州师范

14、学院本科毕业论文 反走样技术的研究与实现6第二章 反走样技术概述在光栅显示器上显示图形时,直线段或图形边界或多或少会呈锯齿状。原因是图形信号是连续的,而在光栅显示系统中,用来表示图形的却是一个个离散的象素。这种用离散量表示连续量引起的失真现象称之为走样(aliasing),走样是伴随着光栅显示系统而出现的,也是数字化的必然产物。用于减少或消除这种效果的技术称为反走样(antialiasing)。第一章中已经介绍了光栅图形的走样现象除了阶梯状的边界外,还有图形细节失真(图形中的那些比象素更窄的细节变宽),狭小图形遗失等现象。常用的反走样方法主要有:提高分辨率、区域采样和加权区域采样等。下面将对他

15、们进行介绍。2.1 过取样技术反走样的方法很多,一种简单的反走样方法是以较高的分辨率显示对象,如图 2.1。假设把显示器分辨率提高一倍,直线经过两倍的象素,锯齿也增加一倍,但同时每个阶梯的宽度也减小了一倍,所以显示出的直线段看起来就平直光滑了一些。这种反走样方法是以 4倍的存储器代价和扫描转换时间获得的。因此,增加分辨率虽然简单,但是不经济的方法,而且它也只能减轻而不能消除锯齿问题。但是它的思想给我们以后的反走样方法一定的启示。 图 2.1 提高显示分辨率一种可行的反走样方法:在较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。这种技术称为过取样(Supersampling)

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

最新文档


当前位置:首页 > 学术论文 > 毕业论文

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