- 締切済み
画像の解像度を落とすプログラム
ネットで画像を登録できるようし、HTMLで表示するような仕組みをperlを使って作りました。 問題が一つ発生しました。 デジタルカメラなどでとってきたものをそのまま登録した場合に画像が重過ぎてネットで画像をアップするのに非常に困難になります。 そのためある一定の数値以上の解像度だった場合は決められて数値まで解像度を落としてアップするperlを考えています。 どうか教えて頂けないでしょうか 御願します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- taba
- ベストアンサー率61% (349/567)
最近perlを使っていないので、画像処理をするモジュールなどがあるかどうか良く知りません。CPANなどで探してみるのはいかがでしょうか。 私が以前にやっていたのは、netpbmを起動して縮小するという方法です。imagemagikとかも使えるのでは。最近のGDはJPEGとPNGは扱えると思います。そういったツールで、画像の縮小を行うという方針ですね。 検索するといろいろ出てくるので、調べてみてください。 #1の方が書かれているように負担のかかる作業ではありますので、まずアップロード時にファイル形式とサイズでチェックをかけます。受け取ると決めた形式・サイズなら、その後縮小するという手続きです。
- fillfreia
- ベストアンサー率46% (7/15)
これは、画像登録式掲示板のような処理を考えてらっしゃるということですよね。 画像の処理をなさりたいそうですが、画像処理についてはどの程度の知識をお持ちなんでしょうか。 一口に画像の解像度変更といっても、膨大な処理を必要とすることをご存知ですか? 画像ファイルと一口に言っても形式によって必要な処理が違うため、サーバーに膨大な負担をかけることになりかねませんので、Perlを使用してのサーバー上での処理はあまりお勧めできません。 ペインターなどの画像編集ソフトを使用してファイルサイズや解像度を変更してからHP上などで表示するのが一般的ですし、サーバーにかかる負担も少なくて済みますが。 個人的には解像度を落とすよりも、画像の幅と高さ、またはファイルサイズでのアップロード制限をつけたほうが良いのではないかとおもいます。 どうしてもその処理が必要ということでしたら、形式を限定する必要があると思います。何形式の画像の解像度変更をしたいのか、明確に書きこむと返答を得られる可能性があがりますよ。