Question

Désolé si le titre n'a pas de sens.

À l'heure actuelle, les paramètres suivants sur l'utilitaire de conversion ImageMagick sont parfaits pour ce que je dois. Je suis Tring prendre un fichier svg, le rendre plus grand et l'écrire comme un fichier .png.

 convert -density 36  home.svg  home_1.png

Malheureusement, je dois être en utilisant Magick ++ (C ++ Interface / API pour ImageMagick), mais je ne peux pas sembler obtenir l'opération équivalente en Magick ++.

Y a-t-il des avantages de ImageMagick qui seraient en mesure de me aider à ce sujet?

Mon code actuel est:

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

    image.read( "Character.svg" );

    image.write( "xx.png" ); 

Je l'ai essayé de déplacer la partie image.density() autour, mais mon image est ne change jamais. Il est tout simplement pixellisée et enregistré en tant que .png.

Était-ce utile?

La solution

Je ne suis pas pro ImageMagick, mais quand j'ai essayé ce code:

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

ce fichier SVG , par exemple:.

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

... le fichier out_small.png était 300x300 pixels, alors que out_large.png était 600x600 pixels.

Ce fut sous Windows 7 via Cygwin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top