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

QT drawPixmap和drawImage处理图片模糊问题

drawPixmap和drawImage显示图片时,如果图片存在缩放时,会出现模糊现象,例如将一个100x100
的图片显示到30x30的区域,这个时候就会出现模糊。如下:

实际图片:

这个问题就是大图显示成小图造成的像素失真。
当我们在1080的屏幕上显示清楚的图片放到2k屏幕上也可能会出现图片模糊,原因也是大图显示成小图或者显示成更大的图造成的缩放像素失真。
解决方法:按照要显示的大小,我们代码提前给它缩放处理,防止它自动缩放。

QPainter p(this);p.setPen(QColor(208,208,208));
p.setBrush(Qt::white);
p.setRenderHint(QPainter::Antialiasing);
QPainterPath path;
path.addEllipse(this->rect());
p.setClipPath(path);p.drawEllipse(this->rect());
qreal pixelRatio = p.device()->devicePixelRatioF(); // 获取不同显示器的分辨率比例,防止不同分辨率下图片失真
m_logopix = m_logopix.scaled(QSize(width() * pixelRatio, height() *pixelRatio), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);//缩放图片到当前分辨率下的显示大小,SmoothTransformation平滑处理。
p.drawPixmap(this->rect(),m_logopix);

处理后效果如下:

http://www.lryc.cn/news/335167.html

相关文章:

  • YOLOv9改进策略 :小目标 | 新颖的多尺度前馈网络(MSFN) | 2024年4月最新成果
  • 从零开始:一步步学习爬虫技术的实用指南(一)
  • Python面向对象详解
  • 思维题锻炼-最小数字
  • ubuntu20.04 运行 lio-sam 流程记录
  • P5356 [Ynoi2017] 由乃打扑克
  • 随机潮流应对不确定性?计及分布式发电的配电系统随机潮流计算程序代码!
  • Oracle表空间满清理方案汇总分享
  • 基于单片机数码管20V电压表仿真设计
  • SCI一区 | Matlab实现NGO-TCN-BiGRU-Attention北方苍鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测
  • C++——优先级队列
  • docker部署jumpserver
  • ARM FVP平台的terminal窗口大小如何设置
  • 003 静态代理
  • 基于JAX的二阶优化方法的实践
  • 【计算机考研】408算法大题怎么练?
  • 输入框验证数字类型
  • LeetCode 377——组合总和 Ⅳ
  • ubuntu同步网络时间
  • Flink学习(四)-数据管道 ETL
  • Python可视化之Matplotlib
  • ChatGPT全方位解析:如何培养 AI 智能对话技能?
  • [C++/Linux] UDP编程
  • 深入探索Linux的lsof命令
  • flowable 想改变正在运行的任务,实例版本为最新,需要改哪些表
  • 统计各位数字都不同的数字个数 II
  • Taro框架中的H5 模板基本搭建
  • gitea详细介绍
  • 应用性能分析系统SkyWalking的安装及使用详解
  • 服务器远程桌面连接不上怎么办?