QImage save
时间: 2025-02-10 12:05:05 浏览: 78
### 使用 QImage 保存图像文件
在 Qt 中,`QImage` 类提供了多种方法来保存图像文件。为了将 `QImage` 对象保存为不同格式的图像文件,可以使用 `save()` 方法[^1]。
#### 基本语法
```cpp
bool save(const QString &fileName, const char *format = nullptr, int quality = -1) const;
```
此方法尝试将以指定格式保存图像至给定路径下的文件名位置。如果未指明格式,则会根据文件扩展名自动推断。对于 JPEG 和 PNG 文件来说,还可以通过设置质量参数控制压缩级别;而对于其他格式则会被忽略。
#### 示例代码
下面是一个简单的例子展示如何创建并保存灰度图:
```cpp
#include <QImage>
#include <QString>
int main(){
// 加载原始图片
QImage image("path/to/source/image.png");
// 转换为灰度模式
QImage gray = image.convertToFormat(QImage::Format_Grayscale8);
// 将灰度图像保存为 JPG 文件
bool success_jpg = gray.save("output.jpg", "JPG", 90);
// 或者保存为 PNG 文件
bool success_png = gray.save("output.png", "PNG");
return (success_jpg && success_png)? 0 : 1;
}
```
上述代码片段展示了如何读取一张彩色图片,并将其转换成灰度版本后再分别以高质量JPEG以及默认配置下PNG两种形式存储下来[^2]。
当涉及到更复杂的场景比如网络传输中的图片处理时,考虑到性能因素可以选择适当的方式来进行深拷贝操作或者利用其支持的数据共享机制优化程序效率[^3]。
阅读全文
相关推荐

















