第6章图形程序的编程基础.ppt
《第6章图形程序的编程基础.ppt》由会员分享,可在线阅读,更多相关《第6章图形程序的编程基础.ppt(28页珍藏版)》请在三一办公上搜索。
1、第6章 图形程序的编程基础,概论,GDI(Graphics Device Interface)Windows系统的一种软件子系统,它按照GDI函数来工作,负责在屏幕显示器和打印机上显示图形。32位GDI就是GDI32.DLL动态链结库,可以把它理解成GDI函数的解释器并按照解释调用相应的设备驱动程序。不同的设备有不同的设备驱动程序,这就实现了与设备无关的图形输出,GDI在应用程序和不同输出设备之间起着隔离作用,应用程序只要考虑GDI函数不必考虑设备,是实现设备无关性输出的关键措施。,GDI函数及其分类,取得和释放设备描述表代号的函数 如前所述:BeginPaint、GetDC、GetWindo
2、wDC取得字体尺寸信息的函数:GetTextMetrics。绘图函数:LineTo(画直线)等设定和取得设备描述表中有关属性的函数 SetTextColor、SetTextAlign等使用GDI对象的函数 逻辑笔、画刷、字体等对象,使用时加载到设备描述表中,GDI绘制的基本图形,直线和曲线 支持直线、矩形、椭圆、圆弧 填入区域 对封闭区域可以使用当前GDI画刷对象进行填图点阵图 常用于图像的显示:bmp文件文本,图形程序设计的其他问题,映射模式及其变换Metafile(元文件)metafile以图形绘制命令描述图像,因此可以对图像进行缩放而不会失真绘图区域 路径 裁剪 调色盘 打印,设备描述表
3、,取得设备描述表代号的方法GetWindowDC:获取整个窗口的设备描述表代号,在WM_NCPAINT消息分支中响应。CreateDC:取得整个屏幕的设备描述表代号,常用于打印机。CreateIC:获取设备描述表的一些信息,但不能用此绘图。取得设备描述表中信息的方法GetDeviceCaps,确定设备处理不同类型图形的能力。程序,保存设备描述表,原因希望对改变后的设备描述表属性在下次使用仍然有效。解决在注册窗口时加入CS_OWNDC属性,只需初始化一次属性,一般在WM_CREATE消息响应中设置。CS_OWNDC只影响GetDC和BeginPaint获得的设备描述表SaveDC,Restore
4、DC,设备描述表的构成,由19项构成如果不对其属性改变,使用的是默认值,如上一章例子中使用的TextOut函数典型:Tex tColorFontCurrent Position,解析度,概念每度量单位内的像素数目,打印机经常用“每英寸的点数(DPI)”表示,显示器以水平和垂直的总像素来表示的。如果设备的水平解析度与垂直解析度相等,称为正方形像素。可以使用SM_CXSCREEN和SM_CYSCREEN参数得到像素尺寸,色彩,色彩数每个像素的色彩数由表达颜色的二进制位数决定,最简单的黑白显示器由1位表达在大多数GDI函数调用中,使用COLORREF值,该值是一个32位的无正负号长整数,但只用了24
5、位(3个8位,R、G、B3基色各占8位)通常利用宏RGB构建,画线函数与画笔,处理像素的函数 Windows GDI尽管包含了SetPixel和GetPixel函数,但很少使用它们。SetPixel(hdc,x,y,crColor);/在(x,y)坐标处设置像素颜色crColorGetPixel函数返回指定座标处的像素颜色:crColor=GetPixel(hdc,x,y);,画线函数与画笔,画线函数画线函数的作用是画出图形的轮廓线。Windows支持画直线、椭圆线等 LineTo 画直线。Polyline和PolylineTo 画一系列相连的直线。PolyPolyline 画多组相连的线。A
6、rc 画椭圆线。PolyBezier和PolyBezierTo 画贝塞尔曲线。正弦曲线程序SINEWAVE,画线函数与画笔,画线函数与画线函数相关的设备描述表的属性:当前画笔的地址、画笔、背景方式、背景色和绘图模式MoveToEx函数改变(确定)画笔当前地址,用POINT结构体表达地址信息,可利用GetCurrentPositionEx函数获得画笔当前地址。图形函数Rectangle画矩形Pie 画部分椭圆,呈扇形Chord画部分椭圆,呈弓形,画线函数与画笔,图形函数画矩形Rectangle(hdc,xLeft,yTop,xRight,yBottom);,画线函数与画笔,图形函数画椭圆Elli
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图形 程序 编程 基础
链接地址:https://www.31ppt.com/p-5647146.html