Вопрос

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

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

 convert -density 36  home.svg  home_1.png

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

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

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

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