我正在尝试使用GraphicsMagick进行屏幕捕获。出于某种原因,使用以下代码在捕获的图像中将底座涂黑:
#include <wand/wand_api.h>
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char **argv) {
MagickWand *wand = NULL;
wand = NewMagickWand();
MagickReadImage(wand,"x:root");
MagickWriteImage(wand,"screen_shot_graphicsmagick.jpg");
if(wand){ DestroyMagickWand(wand); }
return 0;
}
然而,使用ImageMagick,我能够捕获屏幕,而下面的代码没有任何明显的问题,这只是一些添加/修改的行:
#include <wand/MagickWand.h>
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char **argv) {
MagickWandGenesis();
MagickWand *wand = NULL;
wand = NewMagickWand();
MagickReadImage(wand,"x:root");
MagickWriteImage(wand,"screen_shot_imagemagick.jpg");
if(wand){ DestroyMagickWand(wand); }
MagickWandTerminus();
return 0;
}
我在Ubuntu 13.04操作系统上运行它。有人可以指出我在这里做错了什么,或者为什么GraphicsMagick将码头弄黑了?