绘图函数
CDC类
CDC是设备上下文类,封装了绘图的成员函数,一般用pDC定义CDC类的指针。
简单数据类型
1.CPoint 类 主要定义点坐标
2.CRect类 定义矩形
CRect::Width 计算宽度函数
CRect::Height 计算高度函数
CRect::CenterPoint 计算中心点函数
CRect::InflateRect 扩大矩形函数
CRect::DeflateRect 缩小矩形函数
CRect::offsetRect 移动矩形函数
绘图工具类
将图像显示在屏幕上的过程,叫做映射。根据映射模式的不同,分为逻辑坐标和设备坐标,逻辑坐标的单位是米制尺度或英制尺度。
1.设备坐标系
设备坐标系的原点位于客户区的左上角,水平向右为x轴,y轴垂直向下,设备坐标基本单位为1个像素。
2.设置映射模式函数
CDC::SetMapMode
3.设置窗口范围函数
CDC::SetWindowExt
4.设置视区范围函数
CDC::SetViewportExt
5.设置窗口原点函数
CDC::SetWindowOrg
6.设置视区原点函数
CDC::SetViewportOrg
创建画笔函数
CPen::CreatePen(),画笔的颜色用RGB宏定义,COLORREF是32位颜色数据类型
创建画刷函数
创建实体画刷函数
CBrush::CreateSolidBrush(),创建实体化刷函数,画刷仅对闭合图形有效,默认是白色画刷。
创建阴影画刷函数
CBrush::CreateHatchBrush(),
创建位图画刷函数
CBrush::CreatePatternBrush()
选入GDI对象
CDC::SelectObject
删除GDI对象
CDC::DeleteObject
CDC类绘图成员函数
直线绘制
MoveTo() LineTo()
像素点绘制
SetPixelV() 如果调用成功返回非0
获取像素点颜色
GetPiexl ,如果调用成功,返回指定像素的RGB值。
绘制矩形函数
CDC::Rectangle 绘制直角矩形
CDC::RoundRect (x1,y1,x2,y2,x3,y3) 绘制圆角矩形 ,x3,y3是圆角椭圆的宽度和高度。默认使用当前画刷填充圆角矩形内部,使用当前画笔绘制。
画刷填充矩形函数
CDC::FillRect(CRect,CBrush)
选择透明画刷
CDC::SelectStockObject(NULL_BRUSH),返回的数据类型,需要进行强制类型转换,比如(CBrush*)pDC->SelectStockObject(NULL_BRUSH)
绘制椭圆函数
CDC::Ellipse(CRect)
绘制椭圆弧函数
CDC::Arc(CRect,CPoint start,CPoint end),start圆弧起点坐标,end圆弧终点坐标。默认逆时针方向。
CDC::SetArcDirection(int nArcDirection)用于设置绘制圆弧的哪个方向。
绘制扇形函数
CDC::Pie(CRect,CPoint start,CPoint end),start圆弧起点坐标,end圆弧终点坐标。默认逆时针方向,扇形中心默认是外接矩形的中心位置,使用当前画刷填充矩形内部。
绘制Bezier样条函数
CDC::PolyBezier(起点和控制点组成的数组,int nCount);,nCount表示数组中元素个数
绘制多边形
CDC::Polygon(顶点坐标组成的数组,数组中顶点个数);绘制的是闭合形状
位图操作函数
CBitmap::LoadBitmap(UINT nID) 导入位图函数,nID资源的ID编号。
CDC::CreateCompatibleDC(),创建与显示设备上下文兼容的内存设备上下文。
CDC::BitBlt()函数将位图从内存设备上下文复制到显示设备上下文。
文本函数
1.设置文本颜色函数
CDC::SetTextColor(COLORREF crColor) crClor新的文本颜色
2.设置文本背景模式函数
CDC::SetBkMode()
3.设置文本背景颜色函数
CDC::SetBkColor(),
4.输出文本函数
CDC::TextOut(int x,int y,const CString &str)
5.设置文本格式函数
CString:: Format
CString data;
CString str=“zhongguo”;
data.Format(“%s”,str);
设备上下文的调用与释放
如果不在OnDraw()函数中输出,首先需要获得设备上下文,
CDC * pDC=GetDC();//获取设备上下文
ReleaseDC(pDC);//释放内存设备上下文