MFC 用Gdiplus画曲线和直线
一、效果
二、关键逻辑
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画曲线和直线相关推荐
- MFC设置坐标画曲线取点
首先声明本程序不是本人全部原创,改编于一个老外的程序,下面是人家编写此程序的原因,表达对大牛的崇拜之情.原程序是一个动态曲线显示. Author:Mehdi MousaviEmail:mehdi_mo ...
- matlab plot画曲线/直线/椭圆
本博文源于matlab基础,每个图像一个案例引入,大家简单看,直接照猫画虎去套用就行了. 画直线 例子:画y=2*x+3 范围为[1,10] 代码: >> x=1:10; >> ...
- Unity3D中用Vectrosity插件画直线、画点、画曲线、画方框
Unity3D中用Vectrosity插件画直线.画点.画曲线.画方框 .Vectrosity插件是Unity3D目前发现的一个画线最好的工具插件. // Make Vector2 array; in ...
- 【MFC】如何画带箭头的直线
[MFC]如何画带箭头的直线 前言 代码 获得箭头坐标 前言 如何绘制带箭头的直线,说来也简单,只需要算出箭头左右两边的坐标,再使用LineTo()函数即可.话不多说上代码. 代码 获得箭头坐标 已知 ...
- html 直线变曲线,CSS3怎么画曲线?
CSS3怎么画曲线?下面本篇文章给大家介绍一下CSS3画曲线的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. CSS3怎么画曲线? 大家都知道,CSS3中border已经可以实 ...
- html5 Canvas画图教程(5)—canvas里画曲线之arc方法
本文转自:http://www.jb51.net/html5/70317.html 在canvas画线条这篇文章中,我讲了画直线的方法,按理这篇画曲线的文章早该发了,但由于canvas画曲线比较特殊, ...
- GeoGebra Classic 5 初探——画点、直线、直角
一.下载软件 GeoGebra Classic 5 是一款免费的画图软件.下载网址是:https://www.geogebra.org/download 在这个页面下选择"GeoGebra经 ...
- Linux ubuntu18.04.4下如何利用CPU利用率画出50%直线、正弦曲线、心形曲线
Linux ubuntu18.04.4下如何利用CPU利用率画出50%直线.正弦曲线.心形曲线 记录一下,经过了各种失败以后,本菜鸡在一步步的尝试中终于成功画出了曲线.整理一下,我经历的最主要问题如下 ...
- php里用钢笔画曲线,AD钢笔与节点工具教程
和任何矢量绘图工具一样,您需要在使用中学习并掌握操纵贝塞尔曲线. 在 Affinity Designer 中,钢笔和节点工具有其独到的一套体系... 了解贝塞尔曲线 在类似 Affinity Desi ...
- Turtle 模块基础详解-画曲线
在<Turtle 模块基础详解-画直线>中,我们已经介绍了如何导入 turtle 库以及使用 turtle 库来画直线段图形.本文将继续介绍 turtle 库高阶用法,如何使用 turtl ...
最新文章
- POJ 2391 Ombrophobic Bovines ★(Floyd+二分+拆点+最大流)
- 微信小程序开发--如何在swiper中显示两个item以及下一个item的部分内容
- react native 网络请求 axios
- gorm的零值问题:默认仅更新非零值
- 避免使用CreateThread函数,导致的内存泄露
- java 循环笔记_Java笔记之嵌套循环1
- instr函数 mysql_mysql数据库中查找字串出现的位置instr函数
- windowsf进程管理器中进程解释
- Ping++中的AlipaySDK和AlicloudUTDID冲突解决方案
- OpenJDK8编译之后,缺少com.sun.tools.javac.Main怎么办
- 通俗易懂的极限学习机(Extreme Learning Machine)
- 微信公众号服务器配置
- C++课堂笔记整理(STL) map2
- 判断对错:逻辑结构与数据元素本身的内容和形式无关
- 什么是NaN,NaN==NaN?
- java中图标_java中图标按钮
- 用WLW离线写cnblogs博文
- html后台登录界面网页设计界面
- k8s(八)—调度因素(nodeName、nodeSelector、亲和与反亲和、Taints 污点)、影响pod调度的指令
- 表格在线生成SQL工具