SVG を綺麗にリサイズしてラスタライズしたい

SVG を綺麗にリサイズしてラスタライズしたい。コマンドで。

rsvg-convert

rsvg-convert hoge.svg -w 1000 -o fuga.png

librsvg に入ってるんだけど、GNOME のプロジェクトなので依存関係なんかの問題で使いづらいシチュエーションがままある。

Inkscape

inkscape -z hoge.svg -e fuga.png -w 1000 -h 1000

Mac の場合

/Applications/Inkscape.app/Contents/Resources/script -z hoge.svg -e fuga.png -w 1000 -h 1000

GIMP

gimp -ib - -b '(gimp-quit 0)' <<EOF
(let* ((image (car (file-svg-load
                      RUN-NONINTERACTIVE ; run-mode     INT32  The run mode { RUN-INTERACTIVE (0), RUN-NONINTERACTIVE (1) }
                      "hoge.svg"         ; filename     STRING The name of the file to load
                      "hoge.svg"         ; raw-filename STRING The name of the file to load
                      90                 ; resolution   FLOAT  Resolution to use for rendering the SVG (defaults to 90 dpi)
                      1000               ; width        INT32  Width (in pixels) to load the SVG in. (0 for original width, a negative width to specify a maximum width)
                      1000               ; height       INT32  Height (in pixels) to load the SVG in. (0 for original height, a negative width to specify a maximum height)
                      0                  ; paths        INT32  Whether to not import paths (0), import paths individually (1) or merge all imported paths (2)
                      )))
       (drawable (car (gimp-image-get-active-layer image)))
       )

  (gimp-file-save
     RUN-NONINTERACTIVE  ; run-mode     INT32    The run mode { RUN-INTERACTIVE (0), RUN-NONINTERACTIVE (1), RUN-WITH-LAST-VALS (2) }
     image               ; image        IMAGE    Input image
     drawable            ; drawable     DRAWABLE Drawable to save
     "fuga.png"          ; filename     STRING   The name of the file to save the image in
     "fuga.png"          ; raw-filename STRING   The name as entered by the user
     )
  (gimp-image-delete image)
  (gimp-quit 0)
  )
EOF

一応動くけどめちゃ重いしあまり使い勝手がよくない。

ImageMagick

本当は convert でやりたいのだけど、よく分からない。解像度の倍率計算して、とかやりたくない。