Imagemagick

imagemagick.png

"download
ghostscriptもインストールしないといけないみたい。
pythonで扱うにはpythonmagickというのがあるらしい。

convert

単純にjpgからpngにしたい場合

convert test.eps test.png

よく使うコマンド

高さ指定でリサイズ convert -resize x240 before.png after.png
両端を切り取る convert -crop 24x240+0+0 -gravity ceneter original.jpg new.jpg
両端に透明の余白を作る convert input.png -resize 240x240 -background #000000 -compose Copy \ -gravity ceneter -extent 240x240 output.png

リサイズ -resize

上書きしない場合

convert -resize 250x before.png after.png

上書きする場合

mogrify -resize 250x before.png after.png

ぼかすならば

convert -resize 250x -unsharp 2x1.4+0.5+0 before.png after.png
mogrify -resize 250x -unsharp 2x1.4+0.5+0 before.png after.png

しょぼくなるからあまりおすすめしない

画像を切り取る

-cropプション
横ピクセル × 縦ピクセル + 切取る始点ピクセル(横)+ 切取る始点ピクセル(縦)

convert -crop 24x240+0+0 -gravity ceneter original.jpg new.jpg

-gravity centerオプションを使用すると、勝手に両端を調度良くカットしてくれる。

画像をタイル化してバラバラに切り取る

%での指定も可能です。

convert -crop 50% original.jpg new.jpg

上のようにすると、画像を4分割してタイル状にしてくれる。
new-1.jpg,new-2.jpg,new-3.jpg,new-4.jpg
が生まれる。
うーん、これはパズルを作るときに便利かもね。

切取る始点を省略すると、複数枚に、全体の画像をタイル状に分割してくれます。

convert -crop 100x100 original.jpg new.jpg

エラー 

GhostScriptを入れよう!
epsからpngに変換しようとしたらこんなエラーが出た。

K:\修士\修士論文\MasterPaper\eps>convert slider.eps slider.png\nconvert.exe: `%s' (%d) \"gswin32c.exe\" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOP\nROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 \"-sDEVICE=pngalpha\"\n-dTextAlphaBits=4 -dGraphicsAlphaBits=4 \"-r72x72\" -g485x472  \"-sOutputFile=C:/Us\ners/miffy/AppData/Local/Temp/magick-816YGoAnfij7mwq-1\" \"-fC:/Users/miffy/AppData\n/Local/Temp/magick-816IpZV-N8vS93Z\" \"-fC:/Users/miffy/AppData/Local/Temp/magick-\n816XKkJo27yYZC2\" @ error/utility.c/SystemCommand/1894.\nconvert.exe: `%s' (%d) \"gswin32c.exe\" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOP\nROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 \"-sDEVICE=pngalpha\"\n-dTextAlphaBits=4 -dGraphicsAlphaBits=4 \"-r72x72\" -g485x472  \"-sOutputFile=C:/Us\ners/miffy/AppData/Local/Temp/magick-816YGoAnfij7mwq-1\" \"-fC:/Users/miffy/AppData\n/Local/Temp/magick-816IpZV-N8vS93Z\" \"-fC:/Users/miffy/AppData/Local/Temp/magick-\n816XKkJo27yYZC2\" -c showpage @ error/utility.c/SystemCommand/1894.\nconvert.exe: Postscript delegate failed `slider.eps': No such file or directory\n@ error/ps.c/ReadPSImage/837.\nconvert.exe: no images defined `slider.png' @ error/convert.c/ConvertImageComman\nd/3103.

pngからepsはいけるのに。
ghostscriptをインストールしたら治った!!

背景を透明化する

convert -transparent white test.gif test2.gif

これもやってみたけど、ひどい出来栄え。ギザギザになりました。
GIMPやPowerPointの方が優秀です。
-alpha\ton, activate, off, deactivate, set, opaque, copy\", transparent, extract, background, or shape the alpha channel\n-transparent color\tmake this color transparent within the image\n-transparent-color color\ttranspa

convert HOGE.PNG \( +clone -alpha opaque -fill white -colorize 100% \) +swap -geometry +0+0 -compose Over -composite -alpha off PIYO.png

-alpha\topaque \t アルファチャネルを有効にし、それを完全に不透明にする.
+clone index(s) 単純に、image sequenceの最後の画像をコピーする。
-fill white -colorize 100% 白で塗りつぶす

余白を加える

convert input.png -resize 240x240 -background #000000 -compose Copy \  -gravity ceneter -extent 240x240 output.png

パワポの画像.pngを背景白にしてjpgとして保存する

convert powerpoint.png -background white powerpoint.jpg

めんどくせえからパワポで「画像として保存」する時にjpgを選ぶことをおすすめする

splice

convertオプション名 意味
-splice 余白を何ピクセル作るか 0x10
-gravity どの位置に余白を作るか NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast.
-background 余白の色を指定 #000000

rem 環境によって変えてね
rem 上側に10ピクセルの背景色でのスペースを追加\n> convert sf.jpg -background #e2ddd4 -gravity north -splice 0x10 sample367a.png

Bibliography
2. HobNote….コマンドの日本語解説がある。。!!

サポートサイト Wikidot.com