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);
}

辛巴
it男
256 声望
4 粉丝
0 条评论
推荐阅读
mac下编译go-ethereum
macos: 10.14.4 下载go-ethereum源码,按照文档执行命令编译: $ make all 报错:fatal error: 'stdlib.h' file not found /usr/include 查看xcode是否安装: $ xcode-select --install xcode-select: error: com...

lansheng2282阅读 3.3k

DBoS 系统说明
程序员TianSong以单片机开发入门,后续又做了 Qt 相关工作,有时间后开始进行 linux 相关的学习,恰巧在二一年十一月份,百问网的韦东山老师进行了三个月的 linux 驱动直播,于是有了开发 DBoS 的念头。

TianSong1阅读 1.4k

认识一下,我们是应用社交「幕后大佬」 IM 家族
艾瑞咨询近期发布的《2023 年全球互联网通信云行业研究报告》(关注【融云全球互联网通信云】了解更多 后台回复【报告】获取完整版)显示,2021 年全球互联网通信云市场规模达到 53 亿元。

融云RongCloud阅读 353

linux下依赖库的拷贝脚本
{代码...}

thinker13阅读 345

前方高能!融云《社交泛娱乐出海作战地图》来袭,前 100 位免费领
移步【融云全球互联网通信云】回复“地图”限量免费领《社交泛娱乐出海作战地图》

融云RongCloud阅读 284

这一次,百度网盘把【猫】变成了【黄色的猫】
随着移动互联网的一路狂飙,手机已经成为人们的新器官。出门不带钥匙可以,不带手机却是万万不可以的。而手机上,小小的摄像头也越来越成为各位「vlogger」的口袋魔方。每天有超过数亿的照片和视频被上传到百度网...

百度Geek说阅读 276

低成本改善图片访问体验
jpeg 渐进模式是什么?图片加载,从上下加载,变为从模糊到清晰,提前让用户有告知,详情参考png 怡也有类似的技术,称为png 的交错模式 快速实现在「OSS」和「又拍云」上的路径上添加几个参数即可低成本,快速使...

momo707577045阅读 274

封面图
256 声望
4 粉丝
宣传栏