2009-07-29 4 views
1

ディレクトリ内のすべての画像のサイズを変更するための小さなスクリプトがあります。私はcygwinでこのスクリプトを実行し、画像のサイズ変更を行うために「変換」を使用します。画像の解像度は上手く変わりますが、スクリプトの実行後にファイルサイズに問題があります。Bashバッチサイズ変更画像ファイルサイズの問題

私は通常、このスクリプトを使用して、私が書いた小さなWebプレゼンテーションアプリで使用するためにPowerpointプレゼンテーションからダンプしたイメージのサイズを変更します。私はGIF年代をダンプし、スクリプトを実行すると、ファイルが倍以上の大きさ(例:8キロバイト18キロバイトまで、50キロバイトに14キロバイト)

次のようにスクリプトの該当行は、次のとおりです。

/usr/bin/convert $holdfile -thumbnail x480 temp.GIF 
mv temp.GIF $i 

ですファイルサイズがそれほど大きくならないようにするスイッチがありますか?私はファイルのサイズが巨大ではないことを知っていますが、プレゼンテーションや避けられないダイヤルアップユーザーに接続する人が多いときは、できるだけ素敵な体験をしたいだけです。

編集:ファイルが960px x 720pxの解像度で開始し、640px x 480pxにサイズ変更されるように指定する必要があります。

+0

ファイルを縮小または拡大していますか?あなたがそれらを大きくするなら、彼らが成長するのは理にかなっています。 – Laserallan

+0

おそらくスーパーユーザでなければなりません。 – Joey

+0

タグが存在し、bashスクリプトが含まれているとは確信できませんでした。それが私がここで尋ねた理由です。 – Buggabill

答えて

2

これは、convertファイルが入力ファイルよりも悪い場合に発生します。まったく同じ圧縮方式は圧縮コードの良さに応じて異なる結果を生み出す可能性があるので、これは起こり得る。

もう1つ、可能性が高いオプションはおそらく、バイキュービックサイズ変更で行われるイメージのサイズ変更です。これにより、テキストや図形の端が少しぼやけるようになります。つまり、色を増やして圧縮することになります。

また、元の画像に最適化されたカラーパレットが使用されている可能性があります。多少色が変わっても、リサイズ後に1つのGIFフレームでサポートされている256色が必要です。

いずれの場合でも、GIFの代わりにPNGを使用すると、パフォーマンスが向上するはずです。 PNGはGIFの現代的な代替品として設計されており、現在使用されている(グラフィック)ブラウザはないため、PNG(アルファチャンネルなし)の表示に問題があります。 PNGはGIFよりもはるかに優れており、同時に多くの色を使用できます。また、PNG画像をさらに圧縮するoptipngのようなツールもあります。

+0

私はGIFを使っていましたが、サイズ変更フィルターを "Point"に変更しました。これは私のためにそれを修正したものです。ありがとう! /usr/bin/convert $ holdfile -filter point -thumbnail x480 temp.GIF – Buggabill

0

変換すると自動的にパレットが最適化されますが、サイズ変更中に色を混ぜるとパレットが大きくなることがあります。グラフィックスプログラムでソースと結果の画像を検査し、色数を確認することができます。

GIFはLZW圧縮のみをサポートしていますが、有効期限が切れてからの特許拘束(2004年最後)のために、LZW圧縮を手動で有効にする必要がありました。私はそれがまだ場合はそれがそれを検討する価値があるかどうかは分かりません。 LZW圧縮が指定されているが LZW圧縮が有効になっていない場合

、 画像データは、LZWデコーダによって読み取ら ことができる非圧縮LZWフォーマットで記述されています。これにより、予想よりも大きいGIFファイルで が発生することがあります。 - imagemagick.org

関連する問題