4

タイトルが意味をなさなかった場合は申し訳ありません。

現在、imagemagick変換ユーティリティの次のパラメータは私が必要とするものに最適です。.svgファイルを取得し、それを大きくしてpngファイルとして記述しようとしています。

 convert -density 36  home.svg  home_1.png

残念ながら、Magick ++(ImageMagickのC++インターフェイス/API)を使用する必要がありますが、Magick++で同等の操作を取得できないようです。

これについて私を助けることができるImageMagickのプロはいますか?

私の現在のコードは次のとおりです。

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

    image.read( "Character.svg" );

    image.write( "xx.png" ); 

パーツを動かしてみましたimage.density()が、イメージが変わることはありません。単純にラスタライズされ、pngとして保存されます。

4

1 に答える 1

2

私はImageMagickプロではありませんが、このコードを試したとき:

#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.png600x600ピクセルでした。

これは、cygwin経由のWindows7でした。

于 2010-11-15T02:49:31.583 に答える