使用QImage读取图片,将尺寸变化为16*16
时间: 2023-08-26 19:03:46 浏览: 158
好的,以下是使用Qt的QImage类读取图片并将尺寸变化为16x16的示例代码:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QImage>
#include <QFile>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString filename = "image.png"; // 图片文件名
QImage image(filename); // 创建QImage实例并加载图片文件
if (!image.isNull()) // 判断是否成功加载图片
{
QImage smallImage = image.scaled(16, 16, Qt::KeepAspectRatio, Qt::SmoothTransformation); // 将图片缩小到16x16
QFile file("small_image.png"); // 创建QFile实例并指定文件名
file.open(QIODevice::WriteOnly); // 打开文件以便写入数据
smallImage.save(&file, "PNG"); // 将缩小后的图片保存到文件中
file.close(); // 关闭文件
}
else
{
qDebug() << "Failed to load image file!";
}
return a.exec();
}
```
在上述代码中,我们首先创建了一个QImage实例,并使用其构造函数加载了指定的图片文件。然后,我们使用isNull()函数判断是否成功加载图片,如果成功加载,则使用scaled()函数将图片缩小到16x16的尺寸,并保存到一个新的QImage实例中。接着,我们创建了一个QFile实例,并打开文件以便写入数据,然后使用save()函数将缩小后的图片保存到文件中。最后,我们关闭了文件并结束了程序。
需要注意的是,上述代码中使用了Qt的文件操作类QFile,因此在使用前需要添加头文件#include <QFile>。
阅读全文