Windows程序设计之图形基础
来源:互联网 发布:gaussianhmm python 编辑:程序博客网 时间:2024/05/16 00:57
1.GDI的目的之一就是支持与设备无关
2.GDI基本图形
(1)直线和曲线
(2)填充区域
(3)位图
(4)文本
3.设备描述表(DC)
在图形输出设备上绘图前,首先必须获得设备描述表句柄(hdc),这样Windows才允许使用设备
方法一:在处理WM_PAINT消息时,使用BeginPaint和EndPaint调用
hdc = BeginPaint (hwnd, &ps) ;
GDI
EndPaint (hwnd, &ps) ;
方法二:在处理非WM_PAINT消息时使用GetDC调用:
hdc = GetDC (hwnd) ;
注:每一个绘图的过程都是如下面的顺序来进行的:
获取一个设备环境句柄->利用设备环境句柄和GDI函数进行绘图->释放设备环境句柄
3.色彩
在大多数GDI函数调用中,使用COLORREF(32位无符号整数)表示一种色彩
31...24 23...16 15...8 7...0
0 蓝(B) 绿(G) 红(R)
WINGED.H中,定义了RGB宏,三个参数分别表示R(红)、G(绿)、B(蓝)
如:RGB(255,0,0)表示红色
RGB(0,0,0) 表示黑色
4.画图形
(1)直线
MoveToEx (hdc, xBeg, yBeg, NULL) ;//将坐标(xBeg,yBeg)设为直线开始点
LineTo (hdc, xEnd, yEnd) ;//直线终点坐标(xEnd,yEnd),同时该坐标成为当前位置
(2)矩形
Rectangle (hdc, xLeft, yTop, xRight, yBottom) ;
点(xLeft, yTop)是矩形的左上角,(xRight, yBottom)是矩形的右下角
(3)椭圆
Ellipse (hdc, xLeft, yTop, xRight, yBottom) ;
该矩形是椭圆的边界框
5.GDI对象
(1)画笔(Stock Pens)
Windows提供了三种画笔:BLACK_PEN(默认设备描述表中画笔),WHITE_PEN,NULL_PEN
hpen=(HPEN)GetStockObject(WHITE_PEN);//获得WHITE_PEN画笔句柄
SelectObject(hdc,hpen); //将画笔选进设备描述表,返回设备描述表中原有画笔
创建画笔:hPen = CreatePen (iPenStyle, iWidth, crColor) ;
删除画笔:DeleteObject (hPen) ;
(2)画刷
画刷是一个8×8的位图,它水平和垂直地重复使用来填入内部区域。
创建画刷:
hBrush = CreateSolidBrush (crColor) ;
hBrush = CreateHatchBrush (iHatchStyle, crColor) ;
hBrush = CreateBrushIndirect (&logbrush) ;
- Windows程序设计之图形基础
- windows程序设计:图形基础
- windows程序设计第五章 图形基础
- windows程序设计——图形基础
- windows程序设计第五章图形基础学习笔记
- Windows程序设计-GDI图形
- CoreJava 之 图形程序设计
- Windows C图形程序设计模板
- Java — 图形程序设计基础
- windows图形基础---Win32
- java图形程序设计之面板图形绘制
- java图形程序设计之字体
- windows程序设计之第五章绘图基础之Devcaps编程
- windows程序设计之绘图基础之GDI原理
- windows程序设计之绘图基础之GDI函数调用
- windows程序设计之绘图基础之设备的尺寸
- windows程序设计之绘图基础之设备的尺寸2
- windows程序设计之绘图基础之LineDraw问题解决
- jsp 分页封装
- 防火墙术语详解 > DMZ
- 内存缓存机制
- iText组件简介
- Jbuilder配置mssqlserver2000 JDBC过程
- Windows程序设计之图形基础
- 成为java高手的八大条件
- 使用Editplus编辑运行Java程序
- hp520声卡安装问题解决方案
- Tomcat+JSP经典配置实例
- Java开源项目Hibernate包作用详解
- JAVA面试题库
- JAVA迭代器二例
- math组件用法实例