获取DC
// 第一种
::GetDC(hWnd);
::ReleaseDC(hwnd, hdc);
// 第二种
PAINTSTRUCT ps;
::BeginPaint(hwnd, &ps);
::EndPaint(hwnd, &ps);
// 第三种 创建兼容内存DC
HDC hMemDC = ::CreateCompatibleDC(hDest);
::DeleteDC(hMemDC);
操作DC
SaveDC
RestoreDC
gdi对象
分类
画笔HPEN
画刷HBRUSH
字体HFONT
区域HRGN
位图HBITMAP
通用gdi对象
xxx_PEN - 如 WHITE_PEN和NULL_PEN
xxx_BRUSH - 如 WHITE_BRUSH和NULL_BRUSH
xxx_FONT - 如 DEVICE_DEFAULT_FONT
通过对象ID号获取通用gdi对象
HGDIOBJ GetStockObject(int i);
获取gdi对象信息
int WINAPI GetObejct(HANDLE h, int c, LPVOID pv);
使用
HGDIOBJ WINAPI SelectObject(HDC hdc, HGDIOBJ h);
画笔
//
CreatePen
SelectObject
DeleteObject
画刷
// 单色 阴影 图案
CreateSolidBrush
CreateHatchBrush
CreatePatternBrush
字体
LOGFONT lf = { 0 };
HFONT hNewFont = ::CreateFontIndirect(&lf);
HFONT hOldFont = ::SelectObject(hDC,hNewFont);
::DrawText(hDC,_T(""),3,&rect,DT_LEFT);
::SelectObject(hDC,hOldFont);
::DeleteObject(hNewFont);
区域
CreateRectRgnIndirect
CreateRoundRectRgn
CombineRgn
DeleteObject
位图
// 获取位图信息
BITMAP bm;
::GetObject(hBitmap, sizeof(BITMAP), &bm);
// 导入位图
::LoadBitmap(hIns,MAKEINTRESOURCE(IDB_XXX));
::LoadImage(hIns,MAKEINTRESOURCE(IDB_XXX),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADMAP3DCOLORS);
::LoadImage(hIns,_T(".\\1.bmp"),IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_DEFAULTSIZE|LR_CREATEDIBSECTION);
// 销毁
::DeleteObject();
CreateDIBSection
CreateCompatibleBitmap
gdi绘制
// 绘制点
SetPixel()
// 绘制线
MoveToEx()
LineTO()
// 绘制矩形
Rectangle()
// 绘制圆
Ellipse()
// 绘制饼
Pie()
gdi的api
blt
// BitBlt
BOOL WINAPI BitBlt(
HDC hdcDst,
int xDst, int yDst, int wDst, int hDst,
HDC hdcSrc,
int xSrc, int ySrc
DWORD rop
);
// StretchBlt
BOOL WINAPI StretchBlt(
HDC hdcDst,
int xDst, int yDst, int wDst, int hDst,
HDC hdcSrc,
int xSrc, int ySrc, int wSrc, int hSrc
DWORD rop
);
// demo
::BitBlt(hDest,x,y,w,g,hMemDC,0,0,SRCCOPY);
create
// 创建字体HFONT
CreateFontIndirect
set和get
//
SetTextColor
// 设置背景模式,比如透明:TRANSPARENT
SetBkMode
// 设置和获取指定点的颜色
SetPixel
GetPixel
draw
#
DrawText
TextOut
gdi+
初始化和反初始化
// 初始化
ULONG_PTR uToke;
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&uToke,& gdiplusStartupInput);
// 反初始化
GdiplusShutdown(uToke);
Graphics
类似于DC
DrawLine
DrawRectangle
DrawEllipse
DrawPie
DrawString
DrawImage
MeasureString
gdi+类
Pen
SolidBrush HatchBrush TextureBrush LinearGradientBrush
Font
Bitmap
StringFormat
相关窗口API
IsWindow
GetWindowRect
GetClientRect
ClientToScreen
ScreenToClient
SetWindowPos
师从小白
原创文章 68获赞 15访问量 4万+
关注
私信
展开阅读全文
作者:师从小白