我是说,用c++的 image magic 库,写一个函数,修改JPG文件的宽度和高度
时间: 2024-09-14 14:05:54 浏览: 11
在C++中使用ImageMagick库修改JPG文件的尺寸是一个相对直接的过程。首先确保你已经正确安装了ImageMagick,并且包含了相应的C++接口库。以下是一个简单的函数示例,它接受源JPG文件路径、目标JPG文件路径、新的宽度和高度作为参数,然后修改图片尺寸:
```cpp
#include <Magick++.h>
#include <iostream>
// 修改图片尺寸的函数
void resizeJPG(const std::string& inputPath, const std::string& outputPath, const size_t newWidth, const size_t newHeight) {
try {
// 初始化ImageMagick
Magick::InitializeMagick(*argv);
// 加载图片
Magick::Image image(inputPath);
// 修改图片尺寸
image.resize(newWidth, newHeight);
// 保存图片
image.write(outputPath);
} catch (Magick::Exception &error) {
std::cerr << "ImageMagick Exception: " << error.what() << std::endl;
}
}
int main() {
std::string inputPath = "source.jpg"; // 源文件路径
std::string outputPath = "resized.jpg"; // 修改尺寸后的文件输出路径
size_t newWidth = 800; // 新的宽度
size_t newHeight = 600; // 新的高度
// 调用函数修改尺寸
resizeJPG(inputPath, outputPath, newWidth, newHeight);
return 0;
}
```
请注意,你需要确保ImageMagick的C++接口已经安装并且能够被编译器识别,通常这涉及到链接 `Magick++` 库。如果你在编译时遇到链接错误,可能需要添加相应的链接参数。