echart中拆线点的偏移_Qt中圆弧和扇形的绘制
在超声软件的开发中,超声成像模块需要绘制圆弧,例如绘制一个扇形的取样框,左右是一条直线,上下是一个圆弧,像这样。
Qt中使用QPainter::drawArc绘制圆弧,使用QPainter::drawPie绘制扇形。
圆弧和扇形的绘制接口输入一致,在调试过程中使用扇形会更直观。
Qt绘制扇形的接口:
void QPainter::drawPie(const QRectF &rectangle, int startAngle, int spanAngle);
void QPainter::drawPie(int x, int y, int width, int height, int startAngle, int spanAngle);
void QPainter::drawPie(const QRect &rectangle, int startAngle, int spanAngle);
扇形的接口入参可以概括为,设置一个矩形区域,开始角度,和偏移角度。
矩形区域
Rectangle矩形区域解释为该扇形或圆弧,对应圆的外接矩形,实际指明了圆心点和半径,圆心点即矩形的中心点。
以一个400*400的画布为例,绘制一个扇形,黑色画布左上角为(0, 0)点,圆心坐标为(200,0)外接矩形为(-30, -230, 460,460)。
扇形的角度
开始角度和偏移角度决定了扇形绘制的弧长,Qt中一个完整的圆分为5760 等分(360*16),在指定角度时,角度数需要乘16,同时需要注意,弧度和角度的转换。
//radian弧度, 将弧度转换为符合Qt的形式
float CoordiUtil::ConvertToQtAngle(float radian)
{//先转成度float angle = ConvertToAngle(radian);//Qt以3点钟为0度,正值逆时针方向,而负值表示顺时针方向float qtAngle = angle - 90;return (qtAngle) * 16;//一个完整的圆等于5760(16 * 360)
}// 将弧度转换为角度,radian弧度
float CoordiUtil::ConvertToAngle(float radian)
{//度=弧度×180°/πconst float PI = 3.1415926f;float angle = radian * 180 / PI;return angle;
}//将角度转换为弧度,angle角度
float CoordiUtil::ConvertToRadian(float angle)
{//弧度=度×π/180const float PI = 3.1415926f;float radian = angle / 180 * PI;return radian;
}
在指定开始角度和偏移角度时,Qt以3点钟为0度,正值表示逆时针方向,而负值表示顺时针方向。
echart中拆线点的偏移_Qt中圆弧和扇形的绘制相关推荐
- echart中拆线点的偏移_Real BIM | Rhino+Grasshopper在双曲异形玻璃幕墙中的应用
转载请联系并注明来源 你好,我以自己所做的项目为例,介绍一下我的认知里,BIM技术对于真实项目的作用. 案例是一个异形.双曲面的玻璃屋盖幕墙系统. 如效果图所示,玻璃屋盖呈波浪状,塔楼装饰条与屋盖装饰 ...
- qt5中字符串转字符串数组_Qt中的对象类型转换(Qstring 转换char*有三种方法)
char * 与 const char *的转换 char *ch1="hello11"; const char *ch2="hello22"; ch2 = c ...
- qt5中字符串转字符串数组_Qt中整形数组转换成字符串的问题
应项目的要求终于在一天中学会了把整型数组转换成QString,也算是小有成就的一天了. 由于还没发现怎么直接把整型数组转换成string类型,但是可以通过间接的方法来实现.首先要实现在Qt中建立整型数 ...
- ArcGIS中加载无偏移谷歌卫星影像!奥维官方插件与ArcGIS协同互动
前段时间奥维地图推出了一款与ArcGIS协同插件OmapArcMap 对于经常使用奥维的小伙伴来说无疑是一种福利 这个插件会让你大大提高工作效率 这个插件主要有两个功能 可以在ArcGIS中在线加载谷 ...
- qtextedit 默认文案_QT中常用的控件说明.md
2主窗口类型 有三种窗口 QMainWindow QWiget QDialog QMainWindow:可以包含菜单栏,工具栏和标题栏,是 最常见的窗口显示形式. QDialog:是对话窗口的基类.没 ...
- qwidget show 是否有信号_QT中的消息传递与函数回调机制:信号(signal)和槽(slot)...
Qt是一个跨平台的C++应用程序开发框架,被广泛用于开发GUI程序. 信号和槽是Qt的核心,就相当于MFC的消息传递和回调函数一样.只不过功能比MFC 消息处理的机制和回调函数更强大.GUI应用程序要 ...
- qt如何定义全局变量_QT中全局变量的定义
多的就不说了,本来就是一个简单地内容,只是不会的话会很头疼 我们首先新建两个文件,文件名可以自定义,我们在这里定义为variate.h 和 variate.cpp 当然了,后缀是不能变的. 和函数一样 ...
- java中的case1怎么说_Java 中的 CAS 简述及原理解析
一.CAS 是什么? CAS(Compare And Swap),比较并交换,它是一条CPU并发原语.它的功能是判断内存某个位置的值是否为预期值,如果是则更新为新的值,这个过程是原子的.1 publi ...
- L2C中CtempGen层语义保持证明中环境匹配的定义
ModelCoder是一款由迪捷软件自主研发,支持多种嵌入式系统建模并可以自动生成高安全可靠的C代码的软件设计和开发工具.ModelCoder支持同步数据流以及状态机等嵌入式模型,其从模型生成代码的过 ...
最新文章
- 什么是BeanShell?
- jstl标签的用法 fn标签
- Matlab下 IIR 滤波器实现(Simulink仿真和C语言实现)
- html dom 高级,DOM 高级工程师不完全指南
- 宝塔使用webhook自动部署php项目
- php pdo 封装类,php pdo封装类代码(支持事务)
- docker安装mysql redis_Docker安装Mysql和Redis以及构建部署应用镜像
- MySQL性能优化知识:长连接、短连接、连接池
- mysql 主从复制结构配置
- Keras与PyTorch全方位比较 哪一个深度学习框架更适合初学者?
- android 系统(155)---如何自己添加号码归属地数据库?
- JAVA虚拟机环境如何在IMX6平台上搭建呢?
- IEC 61131 标准系列
- nginx反向代理获取用户真实Ip地址
- 干货:esp32彩屏自制太空人主题透明手表!
- 高中数学基础-对数2.2.2对数函数图象及其性质(上)
- NLP Stemming与Lemmatization的区别
- Dell服务器出错代码和含义
- 谈谈准确率(P值)、召回率(R值)及F值
- 如何用python遍历文件夹下的所有excel文件
热门文章
- 无法定位程序输入点 在.exe上_win7提示explorer.exe应用程序错误的解决方法
- android activity关联,如何实现两个Activity 之间如何通讯
- 西南大学网络教育学院计算机答案,西南大学网络与继续教育学院课程《数字信号处理》2018年春季大作业机考 答案.doc...
- IDEA创建Maven工程
- Linux用某一用户创建文件,Linux创建用户,并赋予管理指定目录的权限
- excel python插件_利用 Python 插件 xlwings 读写 Excel
- 部署superset_ubuntu16下部署apache superset趟坑指南(内有福利)
- 深度学习之循环神经网络(3)梯度传播
- 深度学习之卷积神经网络(12)深度残差网络
- python公开发行版本_Python2 最后一个版本发布,正式迈入 Python3 时代