使用Qt生成图片

news2024/9/29 13:16:15

Qt之生成png/jpg/bmp格式图片_qt生成图片-CSDN博客

(1)使用QPainter 

示例关键代码:

    QImage image(QSize(this->width(),this->height()),QImage::Format_ARGB32);
    image.fill("white");
    QPainter *painter = new QPainter(&image);
    painter->save();
    QPen pen;
    pen.setWidth(2);
    pen.setColor(Qt::red);
    painter->setPen(pen);
    painter->drawEllipse(QPoint(width()/2,height()/2),50,50);
    painter->drawLine(QPointF(0,0),QPointF(width()/2,height()/2));
    painter->drawRect(QRect(40,40,150,160));
    painter->restore();
    painter->end();
    QString path=QApplication::applicationDirPath()+"/1.png";
    qDebug()<<path;
    image.save(path);

再提取:

    QImage image(QSize(this->width(),this->height()),QImage::Format_ARGB32);
    image.fill("white");
    QPainter *painter = new QPainter(&image);
    painter->save();
    //使用QPainter进行绘制
    //...
    painter->end();

    //保存为图片
    QString path=QApplication::applicationDirPath()+"/1.png";
    image.save(path);

就是在QImage上绘制图像,再保存为图片。

(2)直接把QWidget窗体上的内容保存为图片。

示例代码:

    Widget w;
    w.show();
    QPixmap pixmap(w.size());
    w.render(&pixmap);
    QString path=QApplication::applicationDirPath()+"/3.png";
    pixmap.save(path);

参考:

保存Qwiget 图像 并调整大小-QT开发中文网 (0voice.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1550573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详解 WebWorker 的概念、使用场景、示例

前言 提到 WebWorker&#xff0c;可能有些小伙伴比较陌生&#xff0c;不知道是做什么的&#xff0c;甚至不知道使用场景&#xff0c;今天这篇文章就带大家一起简单了解一下什么是 webworker&#xff01; 概念 WebWorker 实际上是运行在浏览器后台的一个单独的线程&#xff0…

[PCL] PCLVisualizer可视化的应用

[PCL] PCLVisualizer可视化的应用 通常情况下 PCL的可视化 是非常方便. 但是 #include<pcl/io/io.h> #include<pcl/io/pcd_io.h> #include<pcl/io/ply_io.h> #include<pcl/visualization/cloud_viewer.h>#include<iostream> #include<threa…

【函数修改的重要问题】想要增加C++函数返回值,选择结构体?OR 额外参数?

作为一个程序员&#xff0c;我们经常会遇到这样的情况&#xff1a; 别人写的C项目&#xff0c;需要我们来进行 ”修改&#xff0c;或者增加功能“。 举个例子 我们需要对于一个已有的C函数&#xff0c;增加它的返回值信息&#xff0c;通常有两条路可走&#xff1a; 用结构体…

只用一部手机,为你的吉利车机安装第三方软件(支持大部分车型)

&#x1f4a1; 文中使用的方法为DNS重定向&#xff0c;需要你具备一定的动手能力&#xff0c;否则将无法达到最终目的。 &#x1f4a1; 阅读本文&#xff0c;视为你有一定电脑基础&#xff0c;难以理解时&#xff0c;请寻求百度帮助&#xff0c;百度就是最好的老师&#xff01;…

“大模型+机器人”的现状和未来,重磅综述报告来了!

基础模型(Foundation Models)是近年来人工智能领域的重要突破&#xff0c;在自然语言处理和计算机视觉等领域取得了显著成果。将基础模型引入机器人学&#xff0c;有望从感知、决策和控制等方面提升机器人系统的性能&#xff0c;推动机器人学的发展。由斯坦福大学、普林斯顿大学…

红队笔记8-CTF5打靶流程-CMS漏洞-多用户信息泄露(vulnhub)

目录 开头: 1.主机发现和端口扫描&#xff1a; 2.80端口-NanoCMS哈希密码信息泄露-后台getshell 3.提权-用户过多信息泄露 4.总结&#xff1a; 开头: 学习的视频是哔哩哔哩红队笔记&#xff1a; 「红队笔记」靶机精讲&#xff1a;LAMPSecurityCTF5 - 标准攻击链&#xff…

【Java程序设计】【C00392】基于(JavaWeb)Springboot的校园生活服务平台(有论文)

基于&#xff08;JavaWeb&#xff09;Springboot的校园生活服务平台&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过…

有趣的css - 多弧形加载动画

大家好&#xff0c;我是 Just&#xff0c;这里是「设计师工作日常」&#xff0c;今天分享的是用纯css实现多双弧线加载动画。 《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页面渲…

MySQL数据库基础--约束

约束 约束是作用于表中字段上的规则&#xff0c;用于限制在表中的数据 目的&#xff1a;保证数据库中数据的正确&#xff0c;有效性和完成性。 分类&#xff1a; 注意&#xff1a;约束是作用于表中字段上的&#xff0c;可以在创建表/修改表的时候哦添加约束 外键约束 外键用…

心理治疗聊天机器人的调查

摘要 这项调查旨在调查、分析和比较现有聊天机器人在心理治疗中的可行性和缺陷。调查指出了未来心理治疗聊天机器人所需的一系列任务。我们在公共数据库中检索了约1200篇相关文献&#xff0c;并选择了五种典型的和最先进的心理治疗聊天机器人。大多数最先进的心理治疗聊天机器人…

AndroidStudio中一些实用插件

1.RainbowBrackets插件为圆括号、方括号和花括号内的代码添加了漂亮的彩虹色 2.CodeGlance类似于Sublime或Xcode&#xff0c;CodeGlance插件在编辑器中嵌入了代码迷你图。滚动条也有所增大。在CodeGlance预览文件的代码模式下&#xff0c;用户可以快速导航到目标处。 3.ADBWifi…

机器人是怎么计时的(通用定时器 - 时基单元)

目录 一&#xff0c;引言 二&#xff0c;机器人的“大脑” 三&#xff0c;时基单元介绍 1&#xff0c;定时器框图 2&#xff0c;时基单元 &#xff08;1&#xff09;预分频器 &#xff08;2&#xff09;CNT计数器 &#xff08;3&#xff09;自动重装载寄存器 四&#…

如何在vue中使用echarts,与jquery中有啥不同。

一、vue中使用echarts的步骤 在 Vue 中使用 ECharts 可以按照以下步骤进行&#xff1a; 安装 ECharts&#xff1a;使用 npm 或 yarn 安装 ECharts&#xff1a; npm install echarts 在 Vue 组件中引入 ECharts&#xff1a; import echarts from echarts 在 Vue 组件的 mou…

BUUCTF-Misc15

[SWPU2019]我有一只马里奥1 1.打开附件 是一个可执行文件 2.执行 双击可执行文件生成一个1.txt的文件 文件提示ntfs,需要一个工具ntfsStreamsEditor 3.ntfsStreamsEditor “ntfsStreamsEditor” 是一个用于管理 Windows 操作系统中 NTFS&#xff08;新技术文件系统&#xff…

node的安装

官网下载&#xff08;建议使用预编译包安装&#xff09; 地址&#xff08;https://nodejs.org/en/download/prebuilt-binaries&#xff09; 解压包&#xff0c;并将 bin下面的 node npm npx加入到环境变量中或者建立软连接 ln -s 安装位置/bin/node PATH下面的路径 npm配置…

Vivado工程收敛之报告分析大全

目录 一、前言 二、分析报告 2.1 时钟分析 2.1.1 时钟报告 2.1.2 时钟网络报告 2.1.3 时钟利用率报告 2.1.4 跨时钟域报告 2.2 时序分析 2.3 约束分析 2.4 资源分析 2.5 逻辑级数分析 2.6 扇出分析 2.7 进位链分析 2.8 控制集分析 2.9 复杂度分析 2.10 pipelin…

运筹学基础(一)求解线性规划的单纯形法详解

文章目录 前言线性规划的标准形式一个例子理解单纯形法1. 将线性规划转化为标准形式2. 找到一个初始可行解3. 旋转操作4. 重复旋转 一些badcase退化初始解不是可行解以及无解的情况找不到有限制条件的替入变量——无界解 时间复杂度参考资料 前言 大学的《运筹学》课程中&…

【分享】Word文档的5个隐藏功能

编辑Word文档的过程中&#xff0c;有时候我们需要隐藏一些格式&#xff0c;或者重要信息&#xff0c;今天小编来分享4个Word文档的隐藏功能&#xff0c;记得收藏哦&#xff01; 功能1&#xff1a;隐藏文本内容 对于不想被他人看到的文本内容&#xff0c;可以设置隐藏起来。 首…

备份SQLserver数据库到本地位置

怎么选择合适的数据库备份方案&#xff1f; 有人可能会说SSMS&#xff0c;确实&#xff0c;SSMS作为一个微软官方提供的SQLserver数据库管理工具&#xff0c;是可以帮助我们完成对数据库的备份还原任务的&#xff0c;但是它也有一些局限性&#xff0c;比如不能进行批量化的备份…