抱歉,如果标题没有任何意义。

当前,ImageMagick转换实用程序上的以下参数非常适合我所需的内容。我正在使用.svg文件,使其更大并将其写入PNG文件。

 convert -density 36  home.svg  home_1.png

不幸的是,我需要使用magick ++(ImageMagick的C ++接口/API),但是我似乎无法在Magick ++中获得等效操作。

有没有想象力的专业人士可以帮助我解决这个问题?

我当前的代码是:

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

    image.read( "Character.svg" );

    image.write( "xx.png" ); 

我已经尝试移动 image.density() 一部分,但我的形象永远不会改变。它简单地被栅格化并保存为PNG。

有帮助吗?

解决方案

我不是ImageMagick Pro,但是当我尝试此代码时:

#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像素。

这是在Windows 7上通过Cygwin。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top