当前位置: 首页 > news >正文

Qt|QLabel显示刷新图像数据

参考:QImage、QClipboard(https://zhuanlan.zhihu.com/p/649611141)

获取图像数据并转换为QImage

unsigned char *data = 图像数据;
QImage show_image_ = QImage(data, imgInfo.width, imgInfo.height, imgInfo.width,
QImage::Format_Grayscale8).copy();

刷新图像到QLabel
注:提前定义QPixmap会导致内存泄漏,在setPixmap时直接转换Image到qpixmap;
QLabel刷新效率有限,刷新过快可能导致内存增长,界面卡顿问题;
多线程要自定义信号槽控制ui控件,直接操作ui控件大概率崩溃;

Qt::IgnoreAspectRatio 不考虑图片比例,直接缩放到指定大小
Qt::KeepAspectRatio 保持图片比例,缩放到指定大小内的最大矩形
Qt::KeepAspectRatioByExpanding 保持图片比例,缩放到超出指定大小的最小矩形

Qt::FastTransformation:转换快速执行,没有平滑。
Qt::SmoothTransformation:使用双线性过滤转换生成的图像。

 ui.LabelImage->clear();ui.LabelImage->setPixmap(QPixmap::fromImage(show_image_.Image).scaled(ui.LabelImage->size(),Qt::KeepAspectRatio, Qt::FastTransformation));//不停地处理事件,让程序保持响应,解决界面卡顿问题,根据需求添加QCoreApplication::processEvents(); 

也可以通过QImage对象缩放图像

QImage scal = show_image_ .scaled(900, 800, Qt::KeepAspectRatio);	// 保持图像的长宽比例不变
http://www.lryc.cn/news/240767.html

相关文章:

  • Java类加载那些事
  • QSplitter分裂器
  • pgsql 时区查看和修改
  • el-table 表格表头、单元格、滚动条样式修改
  • dockerDesktop使用方法
  • [Ubuntu]RT810xE--网线已拔出--问题解决
  • 美国DDoS服务器:如何保护你的网站免遭攻击?
  • R语言数据缩放-1到1
  • C语言第二十五弹--打印菱形
  • PyTorch微调终极指南1:预训练模型调整
  • Uptime Kuma 企业微信群机器人告警
  • 【网络安全】-网络安全的分类详解
  • php利用ZipArchive类实现文件压缩与解压
  • Java面试附答案:掌握关键技能,突破面试难题!
  • API自动化测试:如何构建高效的测试流程
  • 字母异位词分组
  • SAP_ABAP_面试篇_关于Function Module函数的三种处理类型
  • CentOS简介、ISO类型、CentOS7安装与配置以及远程连接。
  • Audition 2024 24.0.0.46(音频剪辑)
  • Hive小文件处理
  • go语言学习之旅之Go语言函数
  • mysql的联合索引最左匹配原则问题
  • 三层交换机实现不同VLAN间通讯
  • C#枚举的使用
  • .Net6使用WebSocket与前端进行通信
  • hadoop 编写开启关闭集群脚本, hadoop hdfs,yarn开启关闭脚本。傻瓜式hadoop脚本 hadoop(九)
  • ArrayList中放的是一个对象,如何同时根据对象中的三个字段对List进行排序
  • MONGODB 的基础 NOSQL注入基础
  • 单链表实现【队列】
  • 随机微分方程的MATLAB数值求解