Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >QPainterPath::arcTo上的角度是如何解释的?

QPainterPath::arcTo上的角度是如何解释的?
EN

Stack Overflow用户
提问于 2016-10-12 15:48:11
回答 2查看 2.2K关注 0票数 3

我正在处理图形编辑器的功能,我正在编辑弧形,QPainterPath::arcTo不是像我预期的那样,当形状是椭圆时,它的工作方式与预期的一样,当它是圆时。

下面的两张图片显示了结果。在第一种情况下,我创建了一个圆,然后把它转换成一个初始起始角为45,跨度角为270的弧形。场景坐标空间为正方形。对角线在45度处。正如预期的那样,圆弧的端点正好在对角线上。

在第二种情况下,我有一个椭圆,它以完全相同的方式转换成一个弧形,分别有45度和270度的角度。弧线的终点不再落在对角线上,这不是我所期望的。

在这两种情况下,绘图代码是:

代码语言:javascript
运行
AI代码解释
复制
painter.arcTo (rect, 45, 270);

零度是在3点钟的位置,我相信指定的角度是从中心点到弧形边缘点的一条直线之间的。显然,还有一些我不明白的事情在发生,而且在QPainter::中似乎也没有记录下来。

这是一个问题,因为我正在编写代码重塑弧形,我需要能够工作的背景,当我只有当前鼠标位置和包围矩形的中心点。现在,当我重塑弧线时,我正在计算的角度只精确到0,90,180和270。我越接近中间45度的角度,我的角度就越远。

我的角度是:

代码语言:javascript
运行
AI代码解释
复制
QLineF (rect.center(), mouse_pos).angle ();

再一次,对于圆圈来说,这是完美的。对于非圆椭圆,它不是。

写完这篇文章之后,我找到了这个美丽的插图,它正好演示了我正在处理的事情。不幸的是,Postscript解决方案对我没有帮助。我需要知道怎样才能计算出正确的角度。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-12 16:05:27

我找到了答案,这里。如我所料,我对这些角度的理解是不正确的。要执行鼠标跟踪以重塑弧形,我需要找到直线段与椭圆的交点,并从参数椭圆方程向后工作,以找到正确的角度。

票数 1
EN

Stack Overflow用户

发布于 2021-04-20 08:40:42

由于@goug,我能够修复QPainterPath::arcTo中的类似问题。

在我的例子中,我需要一个椭圆的弧线,它的行为就像一个普通的弧线。开始角和结束角由用户控制的地方。开始角不需要任何修正,但结束角需要修正。

下面的代码展示了如何绕过这个问题。

代码语言:javascript
运行
AI代码解释
复制
qreal startAngle = 10;
qreal endAngle = 60;

qreal radius1 = 30; // X-axis
qreal radius2 = 60; // Y-axis

QPointF center;
QRectF boundingRect(center.x() - radius1, center.y() - radius2, radius1*2, radius2*2);

if (!qFuzzyIsNull(endAngle) &&
        !VFuzzyComparePossibleNulls(endAngle, 90) &&
        !VFuzzyComparePossibleNulls(endAngle, 180) &&
        !VFuzzyComparePossibleNulls(endAngle, 270) &&
        !VFuzzyComparePossibleNulls(endAngle, 360))
{
  // Calculating correct end angle
  qreal endAngleRad = qDegreesToRadians(endAngle);
  endAngle = qRadiansToDegrees(qAtan2(radius1 * qSin(endAngleRad),
                                      radius2 * qCos(endAngleRad)));
}

QLineF startLine(center.x(), center.y(), center.x() + radius1, center.y());
QLineF endLine = startLine;

startLine.setAngle(startAngle);
endLine.setAngle(endAngle);
qreal sweepAngle = startLine.angleTo(endLine);

QPainterPath myPath;
myPath.arcTo(boundingRect, startAngle, sweepLength);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40010114

复制
相关文章
django 富文本编辑的种类
django 富文本编辑的种类 ckeditor(推荐) tinymce ueditor ... ckeditor 官网:https://ckeditor.com/ 安装:https://xieboke.net/article/7/ 文档:https://django-ckeditor.readthedocs.io/en/latest/ tinymce 官网:https://www.tiny.cloud/docs/api/tinymce/root_tinymce/ 安装:https://www.cnblog
卓越笔记
2023/02/18
4030
Django使用markdown文本编辑器
前端界面的显示: 导入css,js文件,这些文件的路径在\python\Lib\site-packages\mdeditor\static中,将它拷贝至项目的静态文件目录使用即可(注意导入顺序):
TomatoCool
2023/07/30
3430
Django添加ckeditor富文本编辑器
源码 https://github.com/django-ckeditor/django-ckeditor
菲宇
2022/12/21
2.2K0
jQuery实现单击页面产生随机字符效果
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
浩Coding
2019/07/02
2.7K0
jQuery实现单击页面产生随机字符效果
Django 2.1.7 使用富文本编辑器 tinymce
Django 2.1.7 Admin - 注册模型、自定义显示列表字段 Django 2.1.7 上传图片 - Admin后台管理 https://django-tinymce.readthedocs.io/en/latest/
Devops海洋的渔夫
2019/07/15
1.7K0
Django 2.1.7 使用富文本编辑器 tinymce
django admin 使用 ckeditor 富文本编辑器
pip install pillow (上传图片到伺服器裁剪用,生成浏览伺服器的缩略图)
卓越笔记
2023/02/17
1.2K0
django admin 使用 ckeditor 富文本编辑器
有没有可能,你根本不懂文本编辑!(一期)
用户5021203
2022/10/05
1950
有没有可能,你根本不懂文本编辑!(一期)
django xadmin 集成DjangoUeditor富文本编辑器
本文档记录自己的学习历程! 介绍 Ueditor HTML编辑器是百度开源的在线HTML编辑器,功能非常强大 额外功能 解决图片视频等无法上传显示问题 Ueditor下载地址 https://github.com/wsqy/DjangoUeditor.git 解压后将 DjangoUeditor 文件夹复制到django项目目录下,跟app目录同级 修改app models 导入UEditorField 模块 增加需要富文本框的字段 from DjangoUeditor.models import UEd
程序员同行者
2018/07/02
1.4K0
使用 Django Ueditor 富文本编辑器(一)
很简单的,直接把自己想要使用富文本编辑器的字段应用为UeditorField就可以了:
benny
2020/04/23
1.3K0
Django 基于 jquery 的 a
<1> $.ajax的两种写法: $.ajax("url",{}) $.ajax({}) <2> $.ajax的基本使用 $.ajax({ url:"//", data:{a:1,b:2}, type:"GET", success:function(){} }) $.get() 方法 创建一个 static 文件夹,用来存储 jquery.min.js 配置 settings.py, 在最后添加 STATICFILES_DIRS=( os.pa
py3study
2020/01/15
4400
Django 基于 jquery 的 a
Django使用xadmin集成富文本编辑器Ueditor
使用xadmin发现没有富文本编辑器,就在网上找关于xadmin集成富文本编辑器的文章,看很多人都在使用ueditor集成,也试了好几篇文章的,都有些问题,遇到很多坑,就自己摸索尝试,最后终于配置成功。 一、xadmin的安装与配置 1、安装xadmin,其中第一种在python3中安装不成功,推荐第二种或者第三种 方式一:pip install xadmin 方式二:pip install git+git://github.com/sshwsfc/xadmin.git 方式三: 下载https://cod
菲宇
2022/12/21
6050
Django使用xadmin集成富文本编辑器Ueditor
Django项目如何用富文本编辑器DjangoUeditor
Ueditor HTML编辑器是百度开源的在线HTML编辑器,功能非常强大,像表格可以直接拖动调整单元格大小等, DjangoUeditor是把此编辑器集成为可以在django项目中直接使用的app,让django项目可以方便的使用这个编辑器。
极简小课
2022/06/21
2.3K0
Django项目如何用富文本编辑器DjangoUeditor
Django实战-番外篇-tinymce富文本编辑器
富文本编辑器在 web应用中使用广泛,比如 markdown、ueditor 等,像这些编辑器都有集成在 python 和 django 的第三方包。
小团子
2019/07/18
9300
Django实战-番外篇-tinymce富文本编辑器
Django中富文本编辑器KindEditor的使用和图片上传
KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。 KindEditor 使用 JavaScript 编写,可以无缝地与 Java、.NET、PHP、ASP 等程序集成,比较适合在 CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用
菲宇
2022/12/21
1.1K0
Django中富文本编辑器KindEditor的使用和图片上传
flashfxp编辑文件显示活动编辑的取消办法
我一直在使用的是国产的8UFTP,但是最近win10系统貌似有点不和谐,编辑文件上传的时候会有一秒“未响应”的卡顿情况,所以有些别扭,又不想做回win7,所以就想起了比较强大的flashfxp。
李洋博客
2021/06/16
1.6K0
017:Django商品详情页、富文本编辑器
本章知识点 1、详情页调用 2、富文本编辑器 知识点讲解 1、详情页调用 2、富文本编辑器 Ckeditor Php Java Python Django-ckeditor App 安装django-ckeditor 到虚拟环境 pip install django-ckeditor 安装django-ckeditor到项目 安装app
李玺
2021/11/22
5150
017:Django商品详情页、富文本编辑器
Django实战-信息资讯-UEditor富文本编辑器
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/07/18
7320
Django实战-信息资讯-UEditor富文本编辑器
Django后台和前台使用summernote富文本编辑器
简单介绍一下怎么在django的管理后台和用户使用网页中使用django-summernote富文本编辑器,其他富文本编辑器类似。
小末快跑
2019/07/03
2.5K0
点击加载更多

相似问题

eclipse外观问题

21

Java Substance外观问题

30

Icefaces 1.8外观问题

15

TableView细胞外观问题

35

UITabBar外观问题+ NSThreads

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档