一、效果

二、关键逻辑

 Gdiplus::Pen            m_pen;Gdiplus::Pen          m_penSolid;
 REAL dashVals[4] = {1, // 短划长为23, // 间隔为21, // 短划长为153 }; // 间隔为2m_pen.SetDashPattern(dashVals, 4);m_penSolid.SetDashStyle(DashStyleDot);
 CPaintDC dc(this); // 用于绘制的设备上下文Gdiplus::Graphics graphics(dc.m_hDC);graphics.SetSmoothingMode(Gdiplus::SmoothingModeHighQuality);const int nPointX = 100;const int nPointY = 90;const int nWidth = 250;const int nHeight = 120;Rect rcTop(nPointX, nPointY, nWidth, nHeight);Rect rcBottom(nPointX, nPointY + 10, nWidth, nHeight);graphics.DrawArc(&m_pen, rcTop, 180, 180);graphics.DrawArc(&m_pen, rcBottom, 0, 180);const int nArrowWidth = 10;const int nArrowHeight = 7;Point ptDay(nPointX + nWidth / 2 + nArrowWidth / 2, rcTop.GetTop());Point ptDayX1(ptDay.X - nArrowWidth, ptDay.Y - nArrowHeight);Point ptDayX2(ptDay.X - nArrowWidth, ptDay.Y + nArrowHeight);graphics.DrawLine(&m_penSolid, ptDayX1, ptDay);graphics.DrawLine(&m_penSolid, ptDayX2, ptDay);Point ptNight(nPointX + nWidth / 2 + nArrowWidth / 2, rcBottom.GetBottom());Point ptNightX1(ptNight.X + nArrowWidth, ptNight.Y - nArrowHeight);Point ptNightX2(ptNight.X + nArrowWidth, ptNight.Y + nArrowHeight);graphics.DrawLine(&m_penSolid, ptNightX1, ptNight);graphics.DrawLine(&m_penSolid, ptNightX2, ptNight);

MFC 用Gdiplus画曲线和直线相关推荐

  1. MFC设置坐标画曲线取点

    首先声明本程序不是本人全部原创,改编于一个老外的程序,下面是人家编写此程序的原因,表达对大牛的崇拜之情.原程序是一个动态曲线显示. Author:Mehdi MousaviEmail:mehdi_mo ...

  2. matlab plot画曲线/直线/椭圆

    本博文源于matlab基础,每个图像一个案例引入,大家简单看,直接照猫画虎去套用就行了. 画直线 例子:画y=2*x+3 范围为[1,10] 代码: >> x=1:10; >> ...

  3. Unity3D中用Vectrosity插件画直线、画点、画曲线、画方框

    Unity3D中用Vectrosity插件画直线.画点.画曲线.画方框 .Vectrosity插件是Unity3D目前发现的一个画线最好的工具插件. // Make Vector2 array; in ...

  4. 【MFC】如何画带箭头的直线

    [MFC]如何画带箭头的直线 前言 代码 获得箭头坐标 前言 如何绘制带箭头的直线,说来也简单,只需要算出箭头左右两边的坐标,再使用LineTo()函数即可.话不多说上代码. 代码 获得箭头坐标 已知 ...

  5. html 直线变曲线,CSS3怎么画曲线?

    CSS3怎么画曲线?下面本篇文章给大家介绍一下CSS3画曲线的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. CSS3怎么画曲线? 大家都知道,CSS3中border已经可以实 ...

  6. html5 Canvas画图教程(5)—canvas里画曲线之arc方法

    本文转自:http://www.jb51.net/html5/70317.html 在canvas画线条这篇文章中,我讲了画直线的方法,按理这篇画曲线的文章早该发了,但由于canvas画曲线比较特殊, ...

  7. GeoGebra Classic 5 初探——画点、直线、直角

    一.下载软件 GeoGebra Classic 5 是一款免费的画图软件.下载网址是:https://www.geogebra.org/download 在这个页面下选择"GeoGebra经 ...

  8. Linux ubuntu18.04.4下如何利用CPU利用率画出50%直线、正弦曲线、心形曲线

    Linux ubuntu18.04.4下如何利用CPU利用率画出50%直线.正弦曲线.心形曲线 记录一下,经过了各种失败以后,本菜鸡在一步步的尝试中终于成功画出了曲线.整理一下,我经历的最主要问题如下 ...

  9. php里用钢笔画曲线,AD钢笔与节点工具教程

    和任何矢量绘图工具一样,您需要在使用中学习并掌握操纵贝塞尔曲线. 在 Affinity Designer 中,钢笔和节点工具有其独到的一套体系... 了解贝塞尔曲线 在类似 Affinity Desi ...

  10. Turtle 模块基础详解-画曲线

    在<Turtle 模块基础详解-画直线>中,我们已经介绍了如何导入 turtle 库以及使用 turtle 库来画直线段图形.本文将继续介绍 turtle 库高阶用法,如何使用 turtl ...

最新文章

  1. POJ 2391 Ombrophobic Bovines ★(Floyd+二分+拆点+最大流)
  2. 微信小程序开发--如何在swiper中显示两个item以及下一个item的部分内容
  3. react native 网络请求 axios
  4. gorm的零值问题:默认仅更新非零值
  5. 避免使用CreateThread函数,导致的内存泄露
  6. java 循环笔记_Java笔记之嵌套循环1
  7. instr函数 mysql_mysql数据库中查找字串出现的位置instr函数
  8. windowsf进程管理器中进程解释
  9. Ping++中的AlipaySDK和AlicloudUTDID冲突解决方案
  10. OpenJDK8编译之后,缺少com.sun.tools.javac.Main怎么办
  11. 通俗易懂的极限学习机(Extreme Learning Machine)
  12. 微信公众号服务器配置
  13. C++课堂笔记整理(STL) map2
  14. 判断对错:逻辑结构与数据元素本身的内容和形式无关
  15. 什么是NaN,NaN==NaN?
  16. java中图标_java中图标按钮
  17. 用WLW离线写cnblogs博文
  18. html后台登录界面网页设计界面
  19. k8s(八)—调度因素(nodeName、nodeSelector、亲和与反亲和、Taints 污点)、影响pod调度的指令
  20. 表格在线生成SQL工具

热门文章

  1. 港澳台手机号正则表达式
  2. RemObjects Elements 11.0
  3. 单片机编程软件很简单(12),Keil单片机编程软件配置操作
  4. java贪吃蛇代码_求Java贪吃蛇代码
  5. 大一新生如何h看待大学生活?
  6. 简述线性反馈移位寄存器
  7. 流密码:lfsr(线性反馈移位寄存器)
  8. 【数学建模】模糊综合评价模型
  9. Win7电脑蓝屏代码大全
  10. android小游戏代码