windows中位图有DDB和DIB两种。
DDB:设备相关位图,又叫GDI(图形设备接口)
优点:显示速度快
操作DDB用CBitmap类或HBitmap类
CBitmap:CDC::SelectObject将位图选入设备上下文中,CDC::BitBlt将其显示出来,StretchBlt可按照设置的模式进行图像的拉伸或压缩
DIB:设备无关位图,
优点:颜色模式与设备无关,不依赖于设备,可用来永久性保存图像
GDI:利用GDI提供的函数就可以在设备上输出图形、文本等,实现了开发者与硬件的分离,方便了开发工作
层次结构:应用程序->GDI->驱动程序->输出设备
CDC:MFC将GDI封装在CDC设备环境类中,通过CDC的成员函数完成绘图操作。CDC类是MFC设备环境的基类,其他MFC设备环境都是CDC的派生类。
CPaintDC:OnPaint函数使用的设备环境类,代表一个窗口的绘制画面。
CClientDC:客户区的设备环境。
CWindowDC:整个程序窗口设备环境。
GDI对象:绘图工具还有字体,位图,调色板等统称为GDI对象。
COLORREF:存放颜色,是一个32位整数。低位字节存储红色强度值,第二个绿色,第三个蓝色,高位字节为0。每一种颜色分量的取值范围为0~255。
RGB:直接设置COLORREF数据不太方便,windows提供RGB宏用来设置颜色,RGB(byRed,byGreen,byBlue)将其颜色分量转换为COLORREF类型颜色数据
使用画笔:创建画笔,选入设备环境,释放画笔