摘要:本文主要向大家介绍了VC编程之利用Microsoft VC++6.0 的MFC的绘图工具实现简单图形的绘制,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。
本文主要向大家介绍了VC编程之利用Microsoft VC++6.0 的MFC的绘图工具实现简单图形的绘制,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。
在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点;画一个矩形。
代码如下:
1 void CMy00View::OnDraw(CDC* pDC)
2 {
3 CMy00Doc* pDoc = GetDocument();
4 ASSERT_VALID(pDoc);
5 // TODO: add draw code for native data here
6
7 COLORREF clr;
8 int x=20,y=20;
9 pDC->SetPixelV(x,y,RGB(255,0,0));
10 clr=pDC->GetPixel(x,y);
11 pDC->SetPixelV(x+100,y,clr);//像素点
12 pDC->Rectangle(100,200,200,300);//矩形
13 }
效果如下:
2.从起点P0(20,30)到终点P1(200,300)画一条1像素宽的蓝色直线
代码如下:
1 void CMy00View::OnDraw(CDC* pDC)
2 {
3 CMy00Doc* pDoc = GetDocument();
4 ASSERT_VALID(pDoc);
5 // TODO: add draw code for native data here
6 //从起点P0(20,30)到终点P1(200,300)画一条1像素宽的蓝色直线,
7 CPen NewPen,*p01dPen;
8 NewPen.CreatePen(PS_SOLID,1,RGB(0,0,255));
9 p01dPen=pDC->SelectObject(&NewPen);
10 pDC->MoveTo(20,30);
11 pDC->LineTo(200,300);
12 pDC->SelectObject(p01dPen);
13 NewPen.DeleteObject();
14 }
效果如下:
3.绘制左上角点为P0(100,100),右下角点为P1(600,300)的矩形。矩形边界线为1像素宽的蓝线,矩形内部填充为绿色
代码如下:
1 void CMy00View::OnDraw(CDC* pDC)
2 {
3 CMy00Doc* pDoc = GetDocument();
4 ASSERT_VALID(pDoc);
5 // TODO: add draw code for native data here
6 CPen NewPen,*p01dPen;
7 NewPen.CreatePen(PS_SOLID,1,RGB(0,0,255));
8 p01dPen=pDC->SelectObject(&NewPen);
9 CBrush NewBrush,*p01dBrush;
10 NewBrush.CreateSolidBrush(RGB(0,255,0));
11 p01dBrush=pDC->SelectObject(&NewBrush);
12 pDC->Rectangle(100,100,600,300);
13 pDC->SelectObject(p01dBrush);
14 NewBrush.DeleteObject();
15 }
效果如下:
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言VC/MFC频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号