/**********************************
*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);
}