MFC结合GDI+
创建一个空的MFC界面,在确定按钮函数里进行画图:
1、包含头文件与库
在stdafx.h中加入以下三行代码:
#include "gdiplus.h"
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib")
2、安装GDI+
在使用GDI+之前要进行安装,否则程序不会报错,但绘图不成功。安装方法如下:
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
安装完成后就可以使用GDI+进行绘图了……
3、卸载GDI+
卸载调用如下函数即可
GdiplusShutdown(gdiplusToken);
在确定按钮触发函数里添加如下画图函数:
Graphics graphics(this->GetDC()->m_hDC);Pen greenPen(Color::Green, 3);PointF point1(100.0f, 100.0f);//开始点PointF point2(200.0f, 50.0f);PointF point3(400.0f, 10.0f);PointF point4(500.0f, 100.0f);PointF point5(600.0f, 200.0f);PointF point6(700.0f, 400.0f);PointF point7(500.0f, 500.0f);//结束点PointF curvePoints[7] = {point1,point2,point3,point4,point5,point6,point7 };PointF* pcurvePoints = curvePoints;//画闭合曲线graphics.DrawClosedCurve(&greenPen, curvePoints, 7);//画连接点SolidBrush redBrush(Color::Red);SolidBrush startBrush(Color::Blue);SolidBrush endBrush(Color::Black);graphics.FillEllipse(&startBrush, Rect(95, 95, 10, 10));graphics.FillEllipse(&redBrush, Rect(495, 95, 10, 10));graphics.FillEllipse(&redBrush, Rect(195, 45, 10, 10));graphics.FillEllipse(&redBrush, Rect(395, 5, 10, 10));graphics.FillEllipse(&redBrush, Rect(595, 195, 10, 10));graphics.FillEllipse(&redBrush, Rect(695, 395, 10, 10));graphics.FillEllipse(&endBrush, Rect(495, 495, 10, 10));
结果如下:
参考:https://www.cnblogs.com/chuncn/archive/2010/12/17/1908740.html 感谢感谢