ImageMagick „convert“ Dienstprogramm Magick ++ Äquivalent?
-
10-10-2019 - |
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.
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.