2011年7月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

最近のトラックバック

  • 図形 (コンピューターグラフィックス)
  • perl (人気Blogランキング[今週10位])
無料ブログはココログ

2007年7月16日 (月)

pdfからjpg

ImageMagickを使うとpdfからの変換、pdfへの
変換も出来ます。

convert -density 200x200 temp.pdf temp.jpg

-densityは作成する画像の解像度を指定します

逆に

convert temp.jpg temp.pdf

とすればjpgからpdfへの変換も可能。

ただ、pdfが作られた状況(ソフト)によっては
うまくいかない場合もあるようです。

私の仕事場の環境ではスキャナ(コピー複合機)
が作成したpdfではうまくいきませんでした。

ImageMagickでなくGhostScriptを使う方法もあります

gswin32 -dBATCH -dNOPAUSE -sDEVICE=jpeg -r400 -sOutputFile=temp.jpg temp.pdf

当然 ImageMagick,GhostScriptはそれぞれインストール
されていることが前提です。

Acrobat Readerでスナップショットを使ってやれば
pdfから画像への変換は出来ますが大量のファイルを
処理する場合はやはりバッチ処理の方が効率的。

また、コマンドラインになじんでいればわざわざ起動に
時間のかかるAcrobatを立ち上げなくて済むので
こちらの方が楽だと思います

2006年4月19日 (水)

-crop 解決

http://www.cit.gu.edu.au/~anthony/graphics/imagick6/crop/

思いっきりここに書いてありました。

GIFファイルでの操作をするためにわざとgeometryの情報を残しているとのこと
PNGファイルでは問題が起こる可能性も言ってました。

"+repage" をつけてやると解決するらしいです。
試してみると


D:\work>convert image04.gif -crop 133x50 01.png

D:\work>identify 01-?.png
01-0.png PNG 133x50 133x50+0+0 PseudoClass 256c 2kb
01-1.png[1] PNG 133x50 400x50+133+0 PseudoClass 256c 2kb
01-2.png[2] PNG 133x50 400x50+266+0 PseudoClass 256c 2kb
01-3.png[3] PNG 1x50 400x50+399+0 PseudoClass 256c 963

D:\work>convert image04.gif -crop 133x50 +repage 01.png

D:\work>identify 01-?.png
01-0.png PNG 133x50 133x50+0+0 PseudoClass 256c 2kb
01-1.png[1] PNG 133x50 133x50+0+0 PseudoClass 256c 2kb
01-2.png[2] PNG 133x50 133x50+0+0 PseudoClass 256c 2kb
01-3.png[3] PNG 1x50 1x50+0+0 PseudoClass 256c 921


なるほど。

2006年4月18日 (火)

-crop

>>>一昨日 下のプログラムを作っているときに引っかかった部分です。

D:\work>convert image04.png -crop 133x50 01.png

D:\work>dir 01*.png
ドライブ D のボリューム ラベルがありません。
ボリューム シリアル番号は 54A5-8EF0 です

D:\work のディレクトリ

2006/04/17 23:53 1,859 01-0.png
2006/04/17 23:53 1,903 01-1.png
2006/04/17 23:53 1,812 01-2.png
2006/04/17 23:53 657 01-3.png
4 個のファイル 6,231 バイト
0 個のディレクトリ 16,762,658,816 バイトの空き領域

>>>分割してくれていますが...

D:\work>identify image04.png > temp.txt

D:\work>identify 01-0.png >> temp.txt

D:\work>identify 01-1.png >> temp.txt

D:\work>identify 01-2.png >> temp.txt

D:\work>type temp.txt
image04.png PNG 400x50 400x50+0+0 PseudoClass 154c 2kb
01-0.png PNG 133x50 133x50+0+0 PseudoClass 154c 2kb
01-1.png PNG 133x50 400x50+133+0 PseudoClass 154c 2kb
01-2.png PNG 133x50 400x50+266+0 PseudoClass 154c 2kb

>>>分割した後のgeometryがちょっと変??

D:\work>convert 01-1.png -gravity south -background white -splice 0x31 temp.png
convert: geometry does not contain image `01-1.png'.

>>>エラーが出てしまいました。
>>>-extentで大きさを擬似的に変えると

D:\work>convert 01-1.png -extent 133x50 temp.png

D:\work>identify temp.png
temp.png PNG 133x50 133x50+0+0 PseudoClass 154c 2kb

>>>正規の大きさになった?

D:\work>convert temp.png -gravity south -background white -splice 0x31 temp.png

D:\work>temp.png

>>>エラー無しです。

###################################################

>>>ためしにjpgに変換して同じことをしてみると

D:\work>convert image04.png image04.jpg

D:\work>convert image04.jpg -crop 133x50 01.jpg

D:\work>dir *.jpg
ドライブ D のボリューム ラベルがありません。
ボリューム シリアル番号は 54A5-8EF0 です

D:\work のディレクトリ

2006/04/18 00:05 6,589 01-0.jpg
2006/04/18 00:05 6,390 01-1.jpg
2006/04/18 00:05 6,077 01-2.jpg
2006/04/18 00:05 344 01-3.jpg
2006/04/18 00:05 18,596 image04.jpg
2006/04/18 00:04 6,960 temp.jpg
6 個のファイル 44,956 バイト
0 個のディレクトリ 16,762,580,992 バイトの空き領域

D:\work>identify 01-2.jpg
01-2.jpg JPEG 133x50 133x50+0+0 DirectClass 6kb

>>>今度は大丈夫???

D:\work>convert 01-2.jpg -gravity south -background white -splice 0x31 temp.png

D:\work>temp.png

>>>エラー無しです。

>>>まぁなんとかなったのでいいのですがこのgeometry表示の意味がよく判りません

2006年4月16日 (日)

ImageMagickだけで

ImageMagickだけで ImageMagickだけで同じようなことが出来ないかと思ってやってみました。
元画像です
Image04




この画像からできたGIFアニメーションです


Image04







これを作ったバッチファイルです。

「temp.bat」をダウンロード


さらにこのバッチファイルを作るためのPerlスクリプトです

「j048.pl」をダウンロード

その他のカテゴリー