GDI绘图对象

//把 hGDIObj 设置给 hdc
HGDIOBJ SelectObject(       //返回的是原来的GDI绘图对象的句柄
	HDC hdc,
	HGDIOBJ hGDIObj         //GDI绘图对象的句柄
);

//释放我们创建的 OBJ,释放我们创建的新画笔、画刷等(释放空间)
BOOL DeleteObject(HGDIOBj hObj);

画笔

线条颜色、线条类型、线条粗细
句柄:HEPN
HPEN CreatePen(
	int fnPenStyle,// PS_XXX   Pen Style (仅仅PS_SOLID 支持多个像素宽) 
	int nWidth,
	COLORREF crColor
);

画刷

为封闭图形填充颜色,图案(我们在画矩形等类似的封闭图形的时候,画刷都会自动填充)
HBRUSH: 画刷句柄
CreateSolidBrush();
CreateHatchBrush();  //填充纹理线

SelectObject();
...(绘图)
SelectObject();
DeleteObject()

透明画刷(可以向Win接GDI对象)

    GetStockObject();    //向Win借用GDI对象

字体

win32常用的字体为TrueType[保存这每一个字的外观]格式的字体文件
只有打开字体的文件,才能真正看到字体的名字
HFONT-字体的句柄
  1. CreateFont(); 创建字体
  2. SelectObject(); 配置字体
  3. OnPaint(); 绘制文字
  4. SelectObject(); 取出字体
  5. DelectObject(); 删除字体 [很有必要,因为字体占用的空间很大]
HFONT CreateFont(       		//其实看为加载字体更好,因为此时也是在系统的目录下面把字体用上来
	INT nHeight,				//字体的逻辑高度
	INT nWidth,					//逻辑平均字符宽度
	INT nEscapement,			//字符串的倾斜角度
	INT nOrientation,		 	//旋转角度角度
	INT fnWeightde,			 	//字体粗细
	DWORD fdwItalic,		 	//斜体属性标志
	DWORD fdwUnderline,			//下划线属性标志
	DWORD fdwStrikeOut,			//删除属性标志
	DWORD fdwCharSet,			//字符集标识符  //一般使用宏 GB2312_CHARSET
	DWORD fdwOutputPrecision,	//输出精度 //快废弃了
	DWORD fdwClipPrecision,		//剪辑精度 //快废弃了
	DWORD fdwQuality,			//输出质量 //快废弃了
	DWORD fdwPitchAndFamily,	//匹配字体 //快废弃了
	LPCTSTR lpszFace   			//指向字体名称字符串的指针[字体名称]
);

位图(同时属于资源GDI对象[操作两者集合])

图形的分类[光栅图片(记录每一个点的颜色位置等信息),矢量图形(记录图像的算法,指令等)]

位图属于光栅图形
位图就是BMP为后缀名的图片
HBITMAP 位图句柄

位图的使用

  1. 添加位图资源 //直接可视化操作
  2. LoadBitMap() //在进程里面找到位图
  3. 创建一个于当前DC匹配的DC(内存DC[内存DC的理解很重要])
  4. 将位图的数据给内存DC SelectObject();[在虚拟区域画出来,这样就可以一瞬间展示出来]
  5. 成像(1:1不是画图,类似抄作业) BitBlt[Bit Block transfer]
  6. 取出位图 SelectObject()
  7. 释放位图 DeleteObject()
  8. 释放匹配的DC DeleteDC()
	HDC CreateCompatibleDc( //创建好的句柄
		HDC hdc       		//当前的DC句柄,为NULL的时候表示借用屏幕的DC
	);
	
	//成像使用的API
	BOOL BitBlt(
		HDC hdcDest,  //目的的DC
		int nXDest,
		int nYDest,
		int nWidth,
		int nHeight,
		HDC hdcSrc,   //源DC
		int nXSrc,    //src上面的开始位置
		int nYSrc
		DWORD dwRop   //成像的方法  [SRCOPY]
	);
	
	//缩放成像 BOOL StretchBlt()

调色板

. . .