版权声明:本文系作者原创。未经许可,不得转载。
在使用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);
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。