MFC GDI绘图
DC——MFC设备描述表类(也叫设备环境、设备上下文)。
默认起始点(0,0),带To的函数会移动起始点到指定位置。
新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT,创建OnPaint()函数
void CMFCApplication10View::OnPaint() { CPaintDC dc(this); // CPaintDC是OnPaint()里专用的,其他函数里用CClientDC /*画直线,客户区域*/ CRect rect; //矩形区域对象 GetClientRect(rect); //获得客户区域,赋值给rect dc.MoveTo(rect.right, rect.top); //从指定点开始 dc.LineTo(rect.left, rect.bottom); /*指定矩形区域内画图*/ CRect rect1(20, 20, 220, 120); dc.Rectangle(rect1); //画矩形 dc.Ellipse(rect1); //画椭圆 /*椭圆圆弧,截取椭圆的一部分*/ CRect rect2(230, 20, 430, 120); CPoint point1(330, 0); CPoint point2(230, 70); dc.Arc(rect2, point1, point2);//p1、p2与圆心的连线,来截取椭圆弧 /*折线*/ //dc.MoveTo(50, 50); //起始点 //POINT point[3] = { 100, 80, 150, 50, 200, 80 }; //3个点 //dc.PolylineTo(point, 3); //从起始点依次连线,共4个点 POINT point[4] = {50,50,100, 80, 150, 50, 200, 80}; //4个点,与上三行等效 dc.Polyline(point, 4); /*曲线*/ dc.PolyBezier(point, 4); }
CRect rect3(440, 20, 640, 220); CPoint p3(540, 20); CPoint p4(440, 120); dc.Pie(rect3, p3, p4);//饼形图,过圆心 //dc.Chord(rect3, p3, p4); //弦+圆弧 //dc.Arc(rect3, p3, p4); //圆弧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!