利用Microsoft VC++6.0 的MFC 的绘图工具实现简单图形的绘制

      MFC运算功能强大,拥有完备的绘图功能。
      在Windows平台上,应用程序的图形设备接口(graphics device interface,GDI)被抽象为设备上下文(Device Context,DC)。
      在微软基类库MFC中,CDC类是定义设备上下文对象的基类,所有绘图函数都在CDC基类中定义。当需要输出文字或图形时,就需要调用CDC类的成员函数,这些成员函数具备输出文本、绘制图形的功能。
      本文讲解的例程全部在TestView.cpp文件的void CTestView::OnDraw(CDC* pDC)函数中实现。
1.在屏幕的P0(20,20)坐标位置处绘制一个蓝色像素点,然后读出该像素点的颜色,水平平移100个像素绘制P1点;画一个矩形。
   代码如下:
 void CMy00View::OnDraw(CDC* pDC)
{
CMy00Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here COLORREF clr;
int x=,y=;
pDC->SetPixelV(x,y,RGB(,,));
clr=pDC->GetPixel(x,y);
pDC->SetPixelV(x+,y,clr);//像素点
pDC->Rectangle(,,,);//矩形
}

效果如下:

利用Microsoft VC++6.0 的MFC 的绘图工具实现简单图形的绘制

2.从起点P0(20,30)到终点P1(200,300)画一条1像素宽的蓝色直线
代码如下:
 void CMy00View::OnDraw(CDC* pDC)
{
CMy00Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
//从起点P0(20,30)到终点P1(200,300)画一条1像素宽的蓝色直线,
CPen NewPen,*p01dPen;
NewPen.CreatePen(PS_SOLID,,RGB(,,));
p01dPen=pDC->SelectObject(&NewPen);
pDC->MoveTo(,);
pDC->LineTo(,);
pDC->SelectObject(p01dPen);
NewPen.DeleteObject();
}
效果如下:
利用Microsoft VC++6.0 的MFC 的绘图工具实现简单图形的绘制
 
3.绘制左上角点为P0(100,100),右下角点为P1(600,300)的矩形。矩形边界线为1像素宽的蓝线,矩形内部填充为绿色
  代码如下:
 void CMy00View::OnDraw(CDC* pDC)
{
CMy00Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CPen NewPen,*p01dPen;
NewPen.CreatePen(PS_SOLID,,RGB(,,));
p01dPen=pDC->SelectObject(&NewPen);
CBrush NewBrush,*p01dBrush;
NewBrush.CreateSolidBrush(RGB(,,));
p01dBrush=pDC->SelectObject(&NewBrush);
pDC->Rectangle(,,,);
pDC->SelectObject(p01dBrush);
NewBrush.DeleteObject();
}

效果如下:

利用Microsoft VC++6.0 的MFC 的绘图工具实现简单图形的绘制

上一篇:Apktool反编译apk资源文件


下一篇:VC++6.0一些常见问题解决方法(打开多个窗口、行号、添加文件无响应、更改.exe图标及名称等等)