c – ImageMagick“转换”实用程序Magick等效?

对不起,如果标题没有任何意义.

目前,imagemagick转换实用程序上的以下参数非常适合我的需要.我想带一个.svg文件,把它做大,然后把它写成一个png文件.

 convert -density 36  home.svg  home_1.png

不幸的是,我需要使用Magick(ImageMagick的C接口/ API),但我似乎无法在Magick中获得相同的操作.

是否有任何ImageMagick专业人士可以帮助我解决这个问题?

我目前的代码是:

image.density(Geometry(36,36));

    image.read( "Character.svg" );

    image.write( "xx.png" ); 

我试过移动image.density()部分,但我的图像永远不会改变.它只是栅格化并保存为png.

最佳答案 我不是ImageMagick专业人士,但是当我尝试这段代码时:

#include <Magick++.h>

int main(int argc, char **argv) {
  Magick::Image img;
  img.density(Magick::Geometry(36,36));
  img.read(argv[1]);
  img.write(argv[2]);

  img.density(Magick::Geometry(72,72));
  img.read(argv[1]);
  img.write(argv[3]);
}

this SVG file,例如:

$./resize example.svg out_small.png out_large.png

…文件out_small.png是300×300像素,而out_large.png是600×600像素.

这是在Windows 7上通过cygwin.

点赞