ImageMagickでベクタ画像を綺麗な半透過PNGにする

ImageMagickで以下のようなことをやる機会があったのでメモ。 今回は元画像がIllustratorファイルだったが、 他のベクタ形式の画像からでも背景透過PNGを作成するときに使えると思う。 元データはIllustratorファイル(.ai) 元の画像の余白部は削除する 220x110の長方形に入るようにリサイズ 上下左右に余白をつける 出来上がりの画像サイズは230x180 背景は透過させる(きれいに透過させたい) コマンド convert -colorspace sRGB -density 576 -filter Point "元ファイル.ai" -trim -alpha set -fill '#000000ff' -opaque '#ffffff' -background transparent +filter -resize 220x110 -gravity center -extent 230x180 出力ファイル.png 説明 アンチエイリアスを切った状態で透過色を設定し、その後アンチエイリアスをONにして縮小するところがミソ。 これで中間色の部分をきれいに半透過にできる。 オプション 説明 -colorspace sRGB カラースペースをsRGBに設定 -density 576 出力されるPNGファイルの解像度が72dpiだったので、その8倍で読み込むよう設定 -filter Point アンチエイリアスをOFFに設定 "元ファイル.ai" 画像ファイルを読み込む -trim 元画像の余白を削除 -alpha set -fill '#000000ff' -opaque '#ffffff' 白(#ffffff)を透過に指定 -background transparent 出力画像の背景を透明に設定 +filter リサイズする時はアンチエイリアスON(上で設定された-filter Pointを無効化) -resize 220x110 最大サイズを220x110に縮小 -gravity center -extent 230x180 画像中央を中心に上下左右に余白を作って230x180にする 出力ファイル.