- 2
- 0
- 约4.88千字
- 约 24页
- 2017-05-15 发布于贵州
- 举报
windows序设计05
Windows绘图 董本志 图形基础 图形设备接口(GDI:Graphics Device Interface)是Windows的子系统,它负责在显示器和打印机上显示图形,GDI是Windows非常重要的部分。不只应用系统在显示视觉信息时使用GDI,就连Windows本身也使用GDI来显示使用者接口对象,诸如菜单、滚动条、图标和鼠标光标。 GDI 的结构GDI由几百个函数调用和一些相关的数据类型、宏和结构组成 。 GDI原理--支持与设备无关的图形 GDI函数调用 取得(或者建立)和释放(或者清除)设备上下文的函数 GetDC和RealseDC 以及BeginPaint和EndPaint 取得有关设备上下文信息的函数GetTextMetrics 绘图函数 DrawText 设定和取得设备上下文参数的函数 SetTextColor和 GetTextColor 建立GDI对象的函数 CreatePen、 CreateBrush GDI基本图形 直线和曲线 GDI支持直线、矩形、椭圆(包括椭圆的子集,也就是我们所说的「圆」)、椭圆圆周上的部分曲线即弧以及贝塞尔曲线(Bezier spline) 填充区域 使用目前GDI画刷对象进行填图 位图 GDI支持两种型态的位图:设备相关位图,是GDI对象;设备无关位图(或者DIB),可以储存在磁盘文件中。 文字 TrueType字体(填充轮廓线 ) 和点阵字体 GDI辅助函数 映像模式和变换 绘图区域 路径 剪裁 调色板 打印 设备上下文 设备上下文中包含许多确定GDI函数如何在设备上工作的当前属性,这些属性允许传递给GDI函数的参数只包含起始坐标或者尺寸信息,而不必包含Windows在设备上显示对象时需要的所有其它信息。例如,呼叫TextOut时,您只需要在函数中给出设备内容句柄、起始坐标、文字和文字的长度。您不必指定字体、文字颜色、文字后面的背景色彩以及字符间距,因为这些属性都是设备内容的一部分。当您想改变这些属性之一时,您呼叫一个可以改变设备内容中属性的函数,以后针对该设备内容的TextOut呼叫来使用改变后的属性。 图形的绘制 一、画点和线 1、设定像素 2、画线 3、边界框函数 4、贝塞尔曲线 * 一、取得设备上下文句柄 1、在处理WM_PAINT消息时,使用BeginPaint和EndPaint函数调用 hdc = BeginPaint (hwnd, ps) ; 其它行程序 EndPaint (hwnd, ps) ; 2、在处理非WM_PAINT消息时取得设备上下文句柄 hdc = GetDC (hwnd) ; 其它行程序 ReleaseDC (hwnd, hdc) ; 3、取得适用于整个窗口(而不仅限于窗口的显示区域)的设备内容句柄 hdc = GetWindowDC (hwnd) ; 其它行程序 ReleaseDC (hwnd, hdc) ; 一、取得设备上下文句柄(续) 4、通用的函数 hdc = CreateDC (pszDriver, pszDevice, pszOutput, pData) ; 其它行程序 DeleteDC (hdc) ; 5、取得内存设备上下文句柄 hdcMem = CreateCompatibleDC (hdc) ; 其它行程序 DeleteDC (hdcMem) ; 二、取得设备上下文信息GetDeviceCaps iValue = GetDeviceCaps (hdc, iIndex) ; 例如,iIndex为HORZRES时将使GetDeviceCaps传回设备的宽度(单位为像素);iIndex为VERTRES时将让GetDeviceCaps传回设备的高度(单位为像素)。 见例子程序Win32Program01。 Windows GDI色彩的表示 在大多数GDI函数调用中,使用COLORREF值(只是一个32位的无正负号长整数)来表示一种色彩。COLORREF值按照红、绿和蓝色的亮度指定了一种颜色,通常叫做“RGB色彩 ” 。 RGB宏要求三个参数分别代表红、绿和蓝值,然后将它们组合为一个无正负号长整数: #define RGB(r,g,b) ((COLORREF)(((BYTE)(r) | \ ((WORD)((BYTE)(g)) 8)) | \ (((DWORD)(BYTE)(b)) 16))) RGB (255, 255, 0)是0x0000FFFF,即黄色(红色和绿色的合成)。 1、设定像素 Windows
您可能关注的文档
- WINDOWS子HOOK.doc
- Windows序GDI绘图.ppt
- Windows序设计-3.ppt
- Windows序设计.doc
- windows序设计06.ppt
- windows序设计07.ppt
- windows序设计08.ppt
- windows序设计6.ppt
- Windows序设计—MFC编程和操作.ppt
- WINDOWS序设计之创建一个简单的Windows应用程序.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)