Qt QPixmap QImage 图片等比例缩放到指定大小

本文介绍了如何在改变窗口组件时,使用QImage和QPixmap的scaled()函数调整窗口背景图片大小,重点讲解了Qt::KeepAspectRatio和Qt::IgnoreAspectRatio以及Qt::FastTransformation和Qt::SmoothTransformation在保持纵横比和图像质量方面的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

改变窗口组件的情况下改变窗口背景图片的大小,QImage、QPixmap等绘图设备类都提供scaled()函数。
 scaled函数:
scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const

  第一个参数代表缩放后的尺寸

  第二个参数有两种表现形式,分别为Qt::IgnoreAspectRatio和Qt::KeepAspectRatio

  • KeepAspectRatio:保持纵横比(常用)
  • IgnoreAspectRatio:忽略纵横比,图片会撑满整个界面

  第三个参数也有两种表现形式,分别为Qt::FastTransformation和Qt::SmoothTransformation

  • FastTransformation模式表示快速变换 (快速获得图片,但质量差些)
  • SmoothTransformation模式表示平滑变换 (速度慢些,但质量好些)

以下代码例子可以实现图像的缩放为宽400,高300像素的图片

QPixmap pixmap("path");
pixmap = pixmap.scaled(400, 300, Qt::KeepAspectRatio, Qt::SmoothTransformation);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值