4

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

目前,imagemagick convert 实用程序的以下参数非常适合我的需要。我正在尝试获取一个 .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。

4

1 回答 1

2

我不是 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]);
}

使用此 SVG 文件,例如:

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

...文件out_small.png为 300x300 像素,而out_large.png为 600x600 像素。

这是通过 cygwin 在 Windows 7 上运行的。

于 2010-11-15T02:49:31.583 回答