ページ概要
時々使うImagemagickのコマンドを集めておきました.
時々使うImagemagickのコマンドを集めておきました.
mogrify -format jpg *.png
フォルダ内の全 png ファイルを jpeg ファイルに変換します.元のpngファイルは残ります.
mogrify -trim -density 300 -bordercolor "#ffffff" -border 50x50 -format png *.eps
フォルダ内の全 eps ファイルを png ファイルに変換します. この時,一度余白を削除し(-trim),画像密度を 300 dpi (-density 300) とし,再度 50x50 の白色の余白を追加しています.
mogrify -rotate 90 -trim -density 300 -bordercolor "#ffffff" -border 50x50 -format png *.ps
フォルダ内の全 ps ファイルを時計回りに90度回転させて png ファイルに変換します. 上の事例に,-rotate 90 を加えて,eps を ps に変えただけです.が役に立ちます.
convert "*.gif" -resize 120x120 thumnail%03d.png
フォルダ内の全 gif ファイルを 最大120x120にリサイズし,thumnail000.png,thumnail001.png と3桁の数字が入ったpngファイルに変換します.
convert fig_org.png -resize x200 fig_cnv.png
フォルダ内のファイル fig_org.png を 高さ200にリサイズし,fig_cnv.pngとして出力します.横幅は自動調整されます.
convert "*.gif" -crop 120x50+10+5 thumnail%03d.png
フォルダ内の全 gif ファイルを x=10,y=5 の点から最大横120,縦50の大きさで切り出し,thumnail000.png,thumnail001.png と3桁の数字が入ったpngファイルに変換します.
convert -density 300 fig_inp.eps fig_out.png
eps を png に変換する事例です.-density を指定しないとデフォルトでは 72 dots per inch で変換されあまり綺麗ではないので,ここでは -density 300(幅x高さ:300x300)で変換しています.
identify fig_inp.png
画像のサイズを知りたい場合は identify を使います.
identifyが吐き出す内容をtest.txtというファイルに書き出す場合はDOSの機能(リダイレクト)を使い,コマンドラインで以下のように入力します.
identify fig_inp.png > test.txt
詳細な画像の情報を知りたいときには -verbose をつけます.
identify -verbose fig_inp.png
convert -size 1500x1050 xc:"#ffffff" base.png
convert -size 1500x1050 canvas:"#f0e68c" base.png
サイズ 1500x1050,白色の画像 base.png を作成します.この場合の色指定は,xc あるいは canvas でできます.色は色名でも指定できます.
composite -gravity center fig_inp.png base.png fig_out_base.png
ファイル base.png の上に透過 png:fig_inp.png を重ねて,fig_out_base.png を作成します.
convert を使った以下の方法でも同じ結果となります.ただしファイルの順番に注意.
convert base.png fig_inp.png -composite fig_out_base.png
convert -trim -density 300 fig_inp.eps fig_out.png
余白を削除しながら density 300 で,eps を png に変換します.-trim は,画像の隅から同じ色の範囲を取り除くオプションです.
convert fig_out.png -bordercolor "#ffffff" -border 50x50 fig_out_bd.png
ファイル:fig_out.png に指定色(ここでは白)の余白を左右 50 dots,上下 50 dots だけ追加して fig_out_bd.png を作成します.この時点で透過pngの場合は,指定色の背景を合成したのと同じ結果が得られます.
border の指定色は変えていますが,実行結果は以下でも同じです.
convert -bordercolor "#f5deb3" -border 50 fig_out.png fig_out_bd.png
mogrify -trim -density 300 -bordercolor "#ffffff" -border 50x50 -format png *.eps mogrify -resize 600x -unsharp 2x1.4+0.5+0 -quality 100 *.png
まず,フォルダ内の全 eps ファイルを density 300 で png に変換し,更にその png ファイルを幅 600 ピクセルとなるようサイズ変更します. ファイル名は eps ファイルと同じです.html 文書に画像を貼り付ける場合,幅 600 ピクセルの画像を作成し,表示幅は 300 ピクセルになるようにするとなんとか読める画像が作成できます.