windows draw api
来源:互联网 发布:哪个编程语言最好学 编辑:程序博客网 时间:2024/05/16 10:44
1. GDI呼叫函数
1) 取得或释放设备内容函数
BeginPaint(), EndPaint();
GetDC(), ReleaseDC();
2) 取得有关设备内容信息的函数
GetTextMetrics()
3) 绘图函数
TextOut()
4) 设定和取得设备内容参数函数
SetTextColor(), SetTextAlign();
5) 使用设备内容对象函数
CreatePen()
2. GDI基本图形
1) 直线和曲线
2) 填入区域
3) 位图
4) 文字
3. 保存设备内容
在某些情况下,您可能想改变某些设备内容的属性,用改变后的属性进行绘图,然后恢复原来的设备内容。
要简化这一过程可以通过调用SaveDC函数:
int nSavedDC;
SaveDC(HDC hdc);
在想要回到呼叫SaveDC前存在的设备内容时,可以呼叫:
RestoreDC(HDC hdc, int nSavedDC);
4. 边界框函数
画矩形
Rectangle(__in HDC hdc, __in int left, __in int top, __in int right, __in int bottom);
画椭圆
Ellipse(__in HDC hdc, __in int left, __in int top, __in int right, __in int bottom);
画圆角矩形
RoundRect(__in HDC hdc, __in int left, __in int top, __in int right, __in int bottom, __in int width, __in int height);
画弧线
Arc(hdc, xLeft, yTop, xRight, yBottom, xStart, yStart, xEnd, yEnd);
画弓形
Chord(hdc, xLeft, yTop, xRight, yBottom, xStart, yStart, xEnd, yEnd);
画扇形
Pie(hdc, xLeft, yTop, xRight, yBottom, xStart, yStart, xEnd, yEnd) ;
5. 使用设备内容对象
我们可以建立的GDI对象有:逻辑画笔,画刷,位图,区域,字体,和调色盘
1) 逻辑画笔
使用windows现有画笔
画笔决定线颜色,宽度和画笔样式
画笔样式可以是: 实线, 点划线, 或者虚线
内定设备内容中画笔为BLACK_PEN
Windows提供的三种画笔: BLACK_PEN, WHITE_PEN, NULL_PEN
呼叫GetStockObject,可以获得现有画笔的句柄
HPEN = hPen;
hPen = (HPEN)GetStockObject(BLACK_PEN);
现在必须将画笔选进设备内容
SelectObject(hdc, hPen);
或者: hPen = SelectObject(hdc, (HPEN)GetStockObject(WHITE_PEN));
2) 画笔的建立,选择和删除
CreatePen或者CreatePenIndirect函数
HPEN hPen = CreatePen(__in int iStyle, __in int cWidth, __in COLORREF color);
iStyle: PS_SOLID;
PS_DASH;
PS_DOT;
PS_DASHDOT;
PS_DASHDOTDOT;
PS_NULL;
PS_INSIDEFRAME;
SelectObject(__in HDC hdc, __in HGDIOBJ h);
DeleteObject(__in HGDIOBJ ho);
注意: 一般在呼叫EndPaint之后使用DeleteObject,不要删除设备内容正在使用的画笔
DeleteObject (SelectObject (hdc, GetStockObject (BLACK_PEN)));
SelectObject函数返回上一次使用的画笔句柄
SelectObject(hdc, CreatePen(iStyle, cWidth, color));
- windows draw api
- Draw Skin Window Using Pure Win32 API
- Draw
- Draw
- Draw
- DRAW
- cairo draw chinese text on windows
- ArcGIS API for JavaScript——绘制工具(Draw)
- Windows API
- Windows API
- Windows API
- Windows API
- Windows API
- Windows API
- windows API
- Windows API
- Windows API
- Windows API
- 集深V5中宏的应用
- png透明图片ie6下消除灰色背景
- 想你-1
- tkdiff ----linux下替代beyound compare的最佳工具
- to_date函数与当前系统时间格式可否隐式转换问题总结
- windows draw api
- Vector的快速失败行为
- oracle 官方文档汇总
- iNotes9.0: 个人文件夹层次结构调整
- 常用的端口号
- 简单的故障注入
- 完美解读Linux中文件系统的目录结构
- try,catch,finally执行及返回值的问题
- linux 高端内存页框管理:永久内核映射、临时内核映射以及非连续内存分配