欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第6章图形程序的编程基础.ppt

    • 资源ID:5909612       资源大小:202.54KB        全文页数:28页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第6章图形程序的编程基础.ppt

    第6章 图形程序的编程基础,概论,GDI(Graphics Device Interface)Windows系统的一种软件子系统,它按照GDI函数来工作,负责在屏幕显示器和打印机上显示图形。32位GDI就是GDI32.DLL动态链结库,可以把它理解成GDI函数的解释器并按照解释调用相应的设备驱动程序。不同的设备有不同的设备驱动程序,这就实现了与设备无关的图形输出,GDI在应用程序和不同输出设备之间起着隔离作用,应用程序只要考虑GDI函数不必考虑设备,是实现设备无关性输出的关键措施。,GDI函数及其分类,取得和释放设备描述表代号的函数 如前所述:BeginPaint、GetDC、GetWindowDC取得字体尺寸信息的函数:GetTextMetrics。绘图函数:LineTo(画直线)等设定和取得设备描述表中有关属性的函数 SetTextColor、SetTextAlign等使用GDI对象的函数 逻辑笔、画刷、字体等对象,使用时加载到设备描述表中,GDI绘制的基本图形,直线和曲线 支持直线、矩形、椭圆、圆弧 填入区域 对封闭区域可以使用当前GDI画刷对象进行填图点阵图 常用于图像的显示:bmp文件文本,图形程序设计的其他问题,映射模式及其变换Metafile(元文件)metafile以图形绘制命令描述图像,因此可以对图像进行缩放而不会失真绘图区域 路径 裁剪 调色盘 打印,设备描述表,取得设备描述表代号的方法GetWindowDC:获取整个窗口的设备描述表代号,在WM_NCPAINT消息分支中响应。CreateDC:取得整个屏幕的设备描述表代号,常用于打印机。CreateIC:获取设备描述表的一些信息,但不能用此绘图。取得设备描述表中信息的方法GetDeviceCaps,确定设备处理不同类型图形的能力。程序,保存设备描述表,原因希望对改变后的设备描述表属性在下次使用仍然有效。解决在注册窗口时加入CS_OWNDC属性,只需初始化一次属性,一般在WM_CREATE消息响应中设置。CS_OWNDC只影响GetDC和BeginPaint获得的设备描述表SaveDC,RestoreDC,设备描述表的构成,由19项构成如果不对其属性改变,使用的是默认值,如上一章例子中使用的TextOut函数典型:Tex tColorFontCurrent Position,解析度,概念每度量单位内的像素数目,打印机经常用“每英寸的点数(DPI)”表示,显示器以水平和垂直的总像素来表示的。如果设备的水平解析度与垂直解析度相等,称为正方形像素。可以使用SM_CXSCREEN和SM_CYSCREEN参数得到像素尺寸,色彩,色彩数每个像素的色彩数由表达颜色的二进制位数决定,最简单的黑白显示器由1位表达在大多数GDI函数调用中,使用COLORREF值,该值是一个32位的无正负号长整数,但只用了24位(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 画多组相连的线。Arc 画椭圆线。PolyBezier和PolyBezierTo 画贝塞尔曲线。正弦曲线程序SINEWAVE,画线函数与画笔,画线函数与画线函数相关的设备描述表的属性:当前画笔的地址、画笔、背景方式、背景色和绘图模式MoveToEx函数改变(确定)画笔当前地址,用POINT结构体表达地址信息,可利用GetCurrentPositionEx函数获得画笔当前地址。图形函数Rectangle画矩形Pie 画部分椭圆,呈扇形Chord画部分椭圆,呈弓形,画线函数与画笔,图形函数画矩形Rectangle(hdc,xLeft,yTop,xRight,yBottom);,画线函数与画笔,图形函数画椭圆Ellipse(hdc,xLeft,yTop,xRight,yBottom);(xLeft,yTop),(xRight,yBottom)构成的虚线称为椭圆的外接矩形,画线函数与画笔,图形函数画圆角矩形RoundRect(hdc,xLeft,yTop,xRight,yBottom,xCornerEllipse,yCornerEllipse)如果xCornerEllipse等於xLeft与xRight的差,且yCornerEllipse等於yTop与yBottom的差,那么RoundRect函数将画出一个椭圆,这个椭园是由四个园角所组成。,画线函数与画笔,图形函数Arc 画椭圆线,Pie 画部分椭圆,呈扇形(封闭),Chord画部分椭圆,呈弓形(封闭)参数:(hdc,xLeft,yTop,xRight,yBottom,xStart,yStart,xEnd,yEnd),画线函数与画笔,画笔通常利用设备描述表中的默认画笔进行画线,也可以把预先设计好的画笔放入设备描述表中,然后用其画线。Windows提供三种画笔:BLACK_PEN,WHITE_PEN,NULL_PEN获取系统画笔:GetStockObject(WHITE_PEN)设置设备描述表画笔:SelectObject(hdc,hPen);,画线函数与画笔,画笔画笔的建立hPen=CreatePen(iPenStyle,iWidth,crColor)CreatePenIndirect(&logpen)hPen=GetObject(hPen,sizeof(LOGPEN),(LPVOID)&logpeniPenStyle:PS_SOLID PS_DASH PS_DOT PS_DASHDOT PS_NULL PS_INSIDEFRAMEPS_INSIDEFRAME:与填入区域的函数一起使用时,该样式可以保证画出的线条在边界框之内。,画线函数与画笔,画笔画笔的删除在WM_CREATE消息期间建立,则在WM_DESTROY消息期间删除:DeleteObject在WM_PAINT消息期间建立的画笔,一定要在EndPaint前删除注意:不要删除设备描述表中当前选择用的画笔,画线函数与画笔,背景模式OPAQUE(不透明):windows使用背景颜色来填入空隙。TRANSPARENT(透明):windows不使用背景颜色来填入空隙。通过SetBkMode改变背景颜色通过SetBkColor改变,画线函数与画笔,“位布尔运算”与画线模式当Windows使用画笔来画线时,它实际上执行的是画笔像素与目标地址处原有像素之间的某种“位布尔运算”。Windows定义了16中运算模式,亦即画线模式,如R2_COPYPEN,windows只是将画笔像素复制到目标像素。通过SetROP2(hdc,iDrawMode)改变运算模式典型:R2_COPYPEN、R2_BLACK、R2_NOP,画图,概念与画线函数的区别,不仅要画边界框,还要画出区域中填入颜色图形的填入画刷默认情况使用白色画刷,windows定义了6种画刷修改画刷hBrush=GetStockObject(GRAY_BRUSH)SelectObject(hdc,hBrush)注:无边框或者无填充的图形,画图,画刷的建立CreateSolidBrush(crColor)CreateHatchBrush(iHatchStyle,crColor)iHatchStyle:HS_HORIZONTAL。画刷的选择和删除SelectObject(hdc,hBrush)DeleteObject(hBrush),GDI映射方式,概念为便于用户使用,windows提供了8种设备输出坐标表达方式,如:像素、毫米、英寸等,也就是GDI函数中使用的逻辑单位。Windows中一切设备都用统一的单位:像素因此需要将逻辑单位转换到设备单位,即为映射方式,MM_TEXT,MM_LOENGLISH,MM_HIMETRIC。SetMapMode(hdc,iMapMode),GDI映射方式,设备坐标和逻辑坐标Windows中,一切设备都用统一的坐标,此坐标称为设备坐标。所有设备坐标系都以像素为单位,水平轴上的值从左到右递增,垂直轴上的值从上到下递增。Windows对所有消息,对所有非GDI函数,甚至一些GDI函数,永远使用设备坐标。,GDI映射方式,设备坐标和逻辑坐标设备坐标分类屏幕坐标,屏幕的左上角为(0,0),如CreateDC所获得的设备代号,使用的就是屏幕坐标全窗口坐标 以程序建立的整个窗口为基准客户区坐标 最常用的“客户区坐标”,(0,0)是客户区的左上角。视口和窗口视口是设备坐标表示的客户区窗口是逻辑坐标表示的程序显示区,讨论,映射模式、设备坐标、逻辑坐标的概念以及相互之间的关系,

    注意事项

    本文(第6章图形程序的编程基础.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开