回答:
ImageMagickのconvertを使用します。
convert -resize 128x128 input.svg output.png
入力キャンバスのサイズが指定されたサイズよりも小さい場合、再サンプリングせずに出力が拡大されます。より高品質の結果を得るには、-density
パラメーターを追加します。
convert -density 500 -resize 128x128 input.svg output.png
ImageMagickラスターは、画像をキャンバスの解像度に合わせてデフォルトの密度である72 dpiにします。
適切なサンプリングでアップスケールするには、上記のサンプルで500 dpiのような高い値を指定できます。
大きすぎるキャンバスでは、ラスター密度が高すぎるとパフォーマンスの問題になる可能性があります。最低で理想的なラスター密度は次のとおりです。 raster_density = raster_size / original_size * original_density
この理想的なラスター密度は、予想されるサイズに画像を直接出力します(-resize
不要)。ただし、浮動小数点数の近似値が発生する可能性があるため、ピクセル単位の完全な結果を得るには、少し高い値とサイズ変更をお勧めします。
ImageMagickのパーセントエスケープを使用して、元のサイズと密度を取得できます。
convert input.svg -format "%w %h %[resolution.x] %[resolution.y]" info:
ImageMagickはSVGの完全な仕様を処理しないことに注意してください。形状が正しくレンダリングされないという問題がある場合は、ImageMagick SVGレンダラーの選択に関するこのスレッドをご覧ください。
rsvg
以下の回答から自分で見つけましたが、いよいよImageMagickの使用を開始します。
convert: unable to read font
(null) '@ error / annotate.c / RenderFreetype / 1153.`エラーを受け取りましたが、これはによって解決されましたbrew install gs
が、変換が正常に実行された場合でも、結果のイメージはゴミです。
-background transparent
。それ以外の場合、変換は白い背景を使用します。
inkscape in.svg --export-png=out.png
(superuser.com/a/493028/316154の例)
両方rsvg
とinkscape
することができます:
$ rsvg
Usage: rsvg [OPTIONS...] file.svg file.png
-d, --dpi-x=<float> pixels per inch
-p, --dpi-y=<float> pixels per inch
-x, --x-zoom=<float> x zoom factor
-y, --y-zoom=<float> y zoom factor
-w, --width=<int> width
-h, --height=<int> height
-q, --quality=<int> JPEG quality
-f, --format=[png, jpeg] save format
-v, --version show version information
Help options:
-?, --help Show this help message
--usage Display brief usage message
そして:
$ inkscape --help
Usage: inkscape [OPTIONS...] [FILE...]
Available options:
-V, --version Print the Inkscape version number
-z, --without-gui Do not use X server (only process
files from console)
-g, --with-gui Try to use X server (even if
$DISPLAY is not set)
-f, --file=FILENAME Open specified document(s) (option
string may be excluded)
-p, --print=FILENAME Print document(s) to specified
output file (use '| program' for
pipe)
-e, --export-png=FILENAME Export document to a PNG file
-d, --export-dpi=DPI The resolution used for exporting
SVG into bitmap (default 90)
-a, --export-area=x0:y0:x1:y1 Exported area in SVG user units
(default is the canvas; 0,0 is
lower-left corner)
-D, --export-area-drawing Exported area is the entire
drawing (not canvas)
-C, --export-area-canvas Exported area is the entire canvas
--export-area-snap Snap the bitmap export area
outwards to the nearest integer
values (in SVG user units)
-w, --export-width=WIDTH The width of exported bitmap in
pixels (overrides export-dpi)
-h, --export-height=HEIGHT The height of exported bitmap in
pixels (overrides export-dpi)
-i, --export-id=ID The ID of the object to export
-j, --export-id-only Export just the object with
export-id, hide all others (only
with export-id)
-t, --export-use-hints Use stored filename and DPI hints
when exporting (only with
export-id)
-b, --export-background=COLOR Background color of exported
bitmap (any SVG-supported color
string)
-y, --export-background-opacity=VALUE Background opacity of exported
bitmap (either 0.0 to 1.0, or 1 to
255)
-l, --export-plain-svg=FILENAME Export document to plain SVG file
(no sodipodi or inkscape
namespaces)
-P, --export-ps=FILENAME Export document to a PS file
-E, --export-eps=FILENAME Export document to an EPS file
-A, --export-pdf=FILENAME Export document to a PDF file
-T, --export-text-to-path Convert text object to paths on
export (EPS)
-F, --export-embed-fonts Embed fonts on export (Type 1
only) (EPS)
-B, --export-bbox-page Export files with the bounding box
set to the page size (EPS)
-X, --query-x Query the X coordinate of the
drawing or, if specified, of the
object with --query-id
-Y, --query-y Query the Y coordinate of the
drawing or, if specified, of the
object with --query-id
-W, --query-width Query the width of the drawing or,
if specified, of the object with
--query-id
-H, --query-height Query the height of the drawing
or, if specified, of the object
with --query-id
-S, --query-all List id,x,y,w,h for all objects
-I, --query-id=ID The ID of the object whose
dimensions are queried
-x, --extension-directory Print out the extension directory
and exit
--vacuum-defs Remove unused definitions from the
defs section(s) of the document
--verb-list List the IDs of all the verbs in
Inkscape
--verb=VERB-ID Verb to call when Inkscape opens.
--select=OBJECT-ID Object ID to select when Inkscape
opens.
Help options:
-?, --help Show this help message
--usage Display brief usage message