Frage

Sorry, wenn der Titel macht keinen Sinn.

die folgenden Parameter auf dem imagemagick Konvertierungsprogramm sind derzeit perfekt für das, was ich brauche. Ich bin Tring eine SVG-Datei zu nehmen, macht es größer und schreiben Sie es als PNG-Datei.

 convert -density 36  home.svg  home_1.png

Leider muss ich Magick werden mit ++ (die C ++ Schnittstelle / API für ImageMagick), aber ich kann nicht die äquivalente Operation in Magick zu bekommen scheinen ++.

Gibt es ImageMagick-Profis, die mir zu diesem Thema zu helfen, wären in der Lage?

Mein aktueller Code ist:

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

    image.read( "Character.svg" );

    image.write( "xx.png" ); 

Ich habe versucht, den image.density() Teil um zu bewegen, aber mein Bild ändert sich nie. Es ist einfach als png gerastert und gespeichert werden.

War es hilfreich?

Lösung

Ich bin kein ImageMagick Pro, aber wenn ich diesen Code versucht:

#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]);
}

dieser SVG-Datei , z.

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

... die Datei out_small.png war 300x300 Pixel, während out_large.png war 600x600 Pixel.

Dies war auf Windows 7 über Cygwin.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top