Cpen 和DC画图
FromHandle(对象)获取对象相关的类的指针
GetSafeHandle(获取基类的对象指针)
selectObject(DC或者字体画笔)
Cbitmap类
typedef struct tagBITMAP { /* bm */ int bmType; int bmWidth; int bmHeight; int bmWidthBytes; BYTE bmPlanes; BYTE bmBitsPixel; LPVOID bmBits; } BITMAP;CBITMAP bmp
bmp.Loadbitmap(位图资源)//加载未土资源
CDC mdc;
mdc.CreateBitmap(&dc)//带入一个DC模板
选择一个dc
selectObject&bmp()
创建兼容的内存dc
BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );输出位图
图片压缩
stretchBlt
GDI绘图
客户区标准绘图句柄“:beginPAINT和EndPaint获取释放句柄
客户区临时绘图句柄 GetDC和ReleaseDC获取和释放句柄。
非客户区绘图句柄: GetWindowDc h和ReleaseDC获取和释放句柄
22种坐标系
屏幕坐标系原点在屏幕左上角;
客户区坐标系:原点在窗口左上角
非客户区做白皙原点在整个窗口的左上角
4种CDC派生类;在构造函数中获取句柄并在西沟函数中释放句柄
CPaintDC (标准客户区绘图类):调用BeginPaint和EndPaint函数
CClientDc (临时客户区绘图类)调用GetDC和ReleseDC函数
CWindowDC(非客户去绘图类)调用GetWindowDC和ReleseDC函数
CMendc (内存绘图类)封装CreateCompatibeDC和DeleteDC函数
6种DC 对象(GDI)Cpen CBrush CFont Cbitmap和Crgn等
执行进程外部的加载bitmap文件
loadImage既可以在进程内加载位图(图片或光标)
LoadCursor(加载光标)
Loaadbitmap(加载位图)
loadIcon(加载图标)
MFC加载动画防止闪烁的问题解决
创建一个空白的内存DC 将画面输出到内存DC 中然后在将内存dc显示到客户区,