【Qt教程】3.5 - Qt5 QPainter绘图抗锯齿、相对坐标/平移坐标系、QPainter画图片、手动调用QPainter绘图事件
GitHub源码仓库:Qt学习例程
1. QPainter绘图抗锯齿
/// 抗锯齿测试 ///
painter.drawEllipse(QPoint(100,50), 50, 50);// 设置 抗锯齿能力,抗锯齿会让绘图效率较低
painter.setRenderHint(QPainter::Antialiasing);
painter.drawEllipse(QPoint(200,50), 50, 50);// 设置 抗锯齿能力,抗锯齿会让绘图效率较低
painter.setRenderHint(QPainter::HighQualityAntialiasing);
painter.drawEllipse(QPoint(300,50), 50, 50);
其他的抗锯齿参数还有:
2. 相对坐标、平移坐标系
/// 平移坐标系测试 ///
painter.drawRect(QRect(20,120, 50, 50));// 用给定的偏移量平移坐标系
painter.translate(100, 0);
// 保存painter状态
painter.save();painter.drawRect(QRect(20,120, 50, 50));// 还原坐标状态
painter.restore();
painter.drawRect(QRect(20,150, 50, 50));
3. QPainter画图片
新建资源编辑器,添加图片资源。并且记住想要绘制的图片路径。
绘图事件函数中,添加代码:
/// QPainter画图片 ///
painter.drawPixmap(20,200, QPixmap(":/pic/123.png"));
4. 手动调用QPainter绘图事件
以上的绘图只能在调用一次绘图,如果想要在程序运行的过程中绘图,需要手动调用QPainter绘图事件。
Qt中的update(); 相当于先清空屏幕,再重新执行一次绘图事件。
示例:我们创建一个按键,点击按键会让图片向右平移。
connect(ui->btnMove, &QPushButton::clicked, [=](){posX+=100;// 重新绘图,手动调用QPainter绘图事件,将整个窗口重新绘制update();
});
// 如果图片左侧超出屏幕,从0开始重新移动
if(posX > this->width())
{posX = 0;
}
/// QPainter画图片 ///
painter.drawPixmap(posX,200, QPixmap(":/pic/123.png"));
GitHub源码仓库:Qt学习例程
【Qt教程】3.5 - Qt5 QPainter绘图抗锯齿、相对坐标/平移坐标系、QPainter画图片、手动调用QPainter绘图事件相关推荐
- QT教程2:QT5的体系构架
一.列出QT5体系内容 QT5的模块有• QtCore • QtGui • QtWidgets • QtMultimedia • QtBluetooth • QtNetwork • QtPositio ...
- QPainter QPixmap 抗锯齿
在paintEvent(QPaintEvent *)实现函数里绘制图片出现边缘锯齿解决办法: pixmap.loadFromData(sealImage,sealImageLen); pixmap ...
- php画图抗锯齿,GD绘图抗锯齿方案[PHP]
最近在使用PHP gblib生成分享图片的过程中,使用了imagefilledellipse 画圆环用来显示进度,发现锯齿特别严重; 遂google,发现了pChart2这个开源图表库,其demo效果 ...
- 【Qt】2D绘图之抗锯齿渲染
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 逻辑绘图 04. 物理绘图 05. 抗锯齿绘图 06. 附录 01. 概述 本部分的内容可以在帮助文档中通过Coordin ...
- Qt 2D绘图之二:抗锯齿渲染和坐标系统
一.抗锯齿渲染 1.1 逻辑绘图 图形基元的大小(宽度和高度)始终与其数学模型相对应,下图示意了忽略其渲染时使用的画笔的宽度的样子. 1.2 物理绘图(默认情况) 在默认的情况下,绘制会产生锯齿,并且 ...
- QT QPainter::antialiasing QPainter::textAntialiasing 反走样、抗锯齿探究
QT中使用QPainter 进行自行绘图的时候,为了防止"锯齿"的出现,我们会经常使用抗锯齿属性,也叫反走样, 既: QPainter::Antialiasing //绘图抗锯齿 ...
- 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.13 抗锯齿
本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV1YP4y1B7Ex 本节讲解抗锯齿效果 前面实现的效果中,仔细观看能看到明显的锯齿的效果,如下: ...
- [Qt教程] 第13篇 2D绘图(三)绘制文字
[Qt教程] 第13篇 2D绘图(三)绘制文字 楼主 发表于 2013-4-25 23:04:46 | 查看: 720| 回复: 0 绘制文字 版权声明 该文章原创于Qter开源社区,作者yafei ...
- [Qt教程] 第20篇 2D绘图(十)图形视图框架(下)
[Qt教程] 第20篇 2D绘图(十)图形视图框架(下) 楼主 发表于 2013-5-4 15:43:02 | 查看: 861| 回复: 0 图形视图框架(下) 版权声明 该文章原创于Qter开源社 ...
最新文章
- go语言使用redis —— redigo
- 关于Net开发中一些SQLServer性能优化的建议
- 学C++的室友手握这个项目,面试稳了
- mysql连接外部数据库名字错误_数据库连接出错! 可能出错原因:数据库位置或名称不对、数据库损坏!...
- 请求并操作指定url处的xml文件
- HashMap 在 JDK 1.8 中新增的数据结构 – 红黑树
- 不同数据库之间的独立性
- 开发基于CXF的 RESTful WebService web 项目 webservice发布
- 《高质量程序设计指南》读书笔记
- jsp post中文乱码
- java大小写同时转换(大写的转为小写,小写转为大写)
- 中国计算机展望未来,作文:展望未来中国的2025
- 状态栏QStatusBar
- windows下的谷歌翻译(Google Translate SDK)使用
- 《SAP后勤模块实施攻略—SAP在生产、采购、销售、物流中的应用》——2.3 按订单生产(MTO)...
- honeywell mahle trw carmate test
- jenkins_轮训SCM
- 火车头采集案例 - js源码获取真实地址
- cms开发(CMS开发)
- Netty入门——基于NIO实现机器客服案例
热门文章
- Cookies 、 Session 和 token 的区别
- 【第九届蓝桥杯大赛决赛真题】JAVA大学C组题解
- Android项目实战(二十):浅谈ListView悬浮头部展现效果
- Photos_2017 China MVP Community Connection
- KVM虚拟机安装使用教程(Ubantu)
- npm run dev时报错:Node Sass does not yet support../nodejs与node-sass版本冲突
- PowerShell监控——监控电脑屏幕操作记录
- [转]Django REST framework 简介与中文教程
- 从理论上来说,国足是否还有出线的可能性?分析数据后给你答案
- java多线程的基本实现方式与示例