1.源碼實現
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <wand/MagickWand.h>
using namespace std;
int main(int argc, char **argv)
{
const char *input = "./1.png";
const char *output = "./1.jpg";
if(argc < 3)
{
return -1;
}
input = argv[1];
output = argv[2];
MagickWand *magick_wand = NULL;
MagickBooleanType status;
//初始化MagickWand
MagickWandGenesis();
//創建一個MagickWand實例
magick_wand = NewMagickWand();
//讀取輸入圖片
status = MagickReadImage(magick_wand, input);
if(status == MagickFalse)
{
cout << "open image failed" << endl;
magick_wand = DestroyMagickWand(magick_wand);
MagickWandTerminus();
return -1;
}
//保存圖片爲
status = MagickWriteImages(magick_wand, output, MagickTrue);
if(status == MagickFalse)
{
cout << "write image failed" << endl;
magick_wand = DestroyMagickWand(magick_wand);
MagickWandTerminus();
return -1;
}
//銷燬MagickWand實例
magick_wand = DestroyMagickWand(magick_wand);
//結束MagickWand
MagickWandTerminus();
return 0;
}
2.編譯源碼
$ g++ -o test test.cpp -I/usr/local/include/ImageMagick-6 -std=c++11 -L/usr/local/lib -lMagickWand-6.Q16 -Wl,-rpath=/usr/local/lib
3.運行及其結果
$ ./test 1.jpg 1.png