windows的4种图形对象
- 画笔(Pen):影响线条,包括颜色,粗细,虚实,箭头形状等
- 画刷(Brush):影响区域,如使用的颜色,是否有阴影等
- 字体(Fonts):影响文字输出的字体
- 位图(Bitmaps):影响位图的创建,位图操作,位图保存等
使用GDI画图的步骤
- 画在哪里:设备对象就是表明在哪个窗口
hwnd =(HWND)NULL,将hwnd设置为空即可在桌面上画 - 获取设备对象上下文,每个设备都有缓存区,我们必须先画在缓存区中。
hdc = GetDC(hwnd) - 设置图形对象
HGDIOBJ hPen;
hPen = CeatePen(PS_SOLID,5,RGB(255,0,0); - 关联
SelectObject(hdc,hPen); - 开始画
LineTo(hdc,100,100)就表示从窗口坐上角画一条红线到window桌面(100,100)处 - 释放资源
DeleteObject(hPen)
ReleaseDC(hdc)
画图时的一些疑惑
- 在画类似于长方体这样的图形时,边框受画笔的影响,内部受画刷的影响。
- 当使用虚线,点线等时,线条之间的填充颜色默认白色,画刷也默认白色。均可以通过SetBKMode,SetBKColor进行设置。
- SetBKMode可以设置线条之间的填充色是否透明,透明则直接使用背景颜色。当使用CreateHatchBrush时,中间的空隙的填充颜色可以用该函数来进行设置。
- SetBKColor可以设置背景颜色,默认为白色,我们可以进行更改
GDI函数本身并不适合做总结:如果要想系统学习GDI函数,参考《windows程序设计第五版》,这种东西多看视频更重要