QImage缩放后如何提升图片质量

本人亲测有效!!

QImage的缩放是比较常用的,今天碰到一个问题:

我发现缩放后的图片看起来很不清晰,于是看了一下QImage的scaled方法。发现它默认的是快速缩放,也就是增加scale的处理速度,牺牲的就是图片的质量。当我更需要图片质量的时候,就需要稍稍修改下scale的参数以实现更清楚的缩放。

一般缩放函数是这样的:

QImage image = picData.toImage();
QImage igScaled = image.scaled(316, 236);

增加图片质量的缩放是这样的:

QImage image = picData.toImage();
QImage igScaled = image.scaled(316,236,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);

注意以下代码加粗处:
QImage igScaled = image.scaled(316,236,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);

以下是QImage的Scaled方法接口:


inline QImage scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio,

      Qt::TransformationMode mode = Qt::FastTransformation) const

      { return scaled(QSize(w, h), aspectMode, mode); }

QImage scaled(const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio,Qt::TransformationMode mode = Qt::FastTransformation) const; 

看一下AspectRatioMode这个枚举:

enum AspectRatioMode {
    IgnoreAspectRatio,
    KeepAspectRatio,
    KeepAspectRatioByExpanding
};

再看一下TransformationMode这个枚举:

enum TransformationMode {
    FastTransformation,
    SmoothTransformation
};
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值