ImageMagick «конвертировать» утилиту Magick ++ в эквивалент? - PullRequest
4 голосов
/ 15 ноября 2010

Извините, если название не имело никакого смысла.

В настоящее время следующие параметры утилиты преобразования imagemagick идеально подходят для того, что мне нужно. Я пытаюсь взять файл .svg, увеличить его и записать в виде файла png.

 convert -density 36  home.svg  home_1.png

К сожалению, мне нужно использовать Magick ++ (интерфейс / API C ++ для ImageMagick), но я не могу получить эквивалентную операцию в Magick ++.

Есть ли профессионалы ImageMagick, которые могли бы помочь мне в этом?

Мой текущий код:

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

    image.read( "Character.svg" );

    image.write( "xx.png" ); 

Я пытался переместить часть image.density(), но мое изображение никогда не меняется. Он просто растеризован и сохранен в формате png.

1 Ответ

2 голосов
/ 15 ноября 2010

Я не 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.

...