/**********************************
*gdi.cpp最简单的GDI程序
***********************************/
/*头文件*/
#include<windows.h>
#pragma comment(lib,"Gdi32.lib")
/*函数声明*/
VOID GdiOut(HDC hdc);
//WinMain
int WINAPI WinMain(HINSTANCE hinstance,
HINSTANCE hpPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
HDC hdc = GetDC(NULL);
GdiOut(hdc);
ReleaseDC(NULL,hdc);
return 0;
}
/***********************************
*VOID GdiOut(HDC hdc)
*功能:演示GDI基本功能的使用
*参数:HDC hdc,用于显示所绘制的图像
***********************************/
VOID GdiOut(HDC hdc)
{
HPEN hpen,hpenOld;
HBRUSH hbrush,hbrushOld;
//初始化的颜色
BYTE bRed = 0;
BYTE bGreen = 0;
BYTE bBlue = 0;
//画笔的颜色——正黑
COLORREF cPen = RGB(bRed,bGreen,bBlue);
//从 COLORREF 类型拆解颜色,设置画笔刷的颜色,这里为紫偏蓝
COLORREF cBrush = RGB(233,GetGValue(cPen),255);
//创建画笔
hpen = CreatePen(PS_SOLID,10,cPen);
//创建画笔刷
hbrush = CreateSolidBrush(cBrush);
//为DC选择画笔和画笔刷
//WINGDIAPI HGDIOBJ WINAPI SelectObject(IN HDC, IN HGDIOBJ);
hpenOld = (struct HPEN__ *)SelectObject(hdc,hpen);
hbrushOld = (struct HBRUSH__ *)SelectObject(hdc,hbrush);
//绘制线条
LineTo(hdc,500,500);
//使用初始的画笔
SelectObject(hdc,hpenOld);
//绘制矩形
Rectangle(hdc, 200, 20, 500, 500);
//释放资源
DeleteObject(hpen);
SelectObject(hdc,hbrush);
DeleteObject(hbrush);
}