Qt将大图片裁剪成小图片

版权声明:本文系作者原创。未经许可,不得转载。

    
    在使用QImage 载入图片时,如果连续读取一些大图片,可能会因为RAM的限制而导致读取失败。可以使用QImageReader将大图片裁剪成小图片来避免此种情况。以下是使用QImageReader裁剪图片的例子:

#include <QSize>
#include <QImage>
#include <QImageReader>
#include <QScreen>
#include <QtCore>
#include <QtGui>

void ImageEditHandler::adjustImage(QString sourceUrl, QString targetPath)
{
    QScreen *screen = QGuiApplication::primaryScreen();
    QSize screen_size = screen->size();
    qDebug()<<"屏幕尺寸:"<<screen_size;
    QUrl fileUrl(sourceUrl);
    QImageReader reader;                                     // 设置图片名
    reader.setFileName(fileUrl.toLocalFile());              // 读取图片大小
    QSize imageSize = reader.size();                     // 缩放图片尺寸以适应屏幕大小
    imageSize.scale(screen_size, Qt::KeepAspectRatio); // 设置图片大小
    reader.setScaledSize(imageSize);
    QImage image = reader.read(); // 读取图片
    image.save(targetPath);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值