- ベストアンサー
連続して画像縦横サイズを取得する方法とは?
- 画像ファイルの縦横ピクセルサイズを連続して取得する方法について質問があります。
- 現在、imgsize.plを使用して縦横サイズを取得しようとしていますが、取得した値が最初の値のまま変わりません。
- 他のモジュールでの縦横サイズ取得方法も探していますが、インストールが必要なものは避けたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
使ったこと無かったですが、ダウンロードして使ってみました。 DOS窓からですが、うまくいっているように見えます。ただし、エラーの場合にエラーメッセージがセットされていないみたいです。 このスクリプトを実行してみて下さい。 D:\temp\imgboard122r61d>test.pl call, file = 01.jpg OK, width=240 heigtht=320 call, file = 02.gif OK, width=1024 heigtht=738 call, file = test.pl Error, msg= And width=1 heigtht=1 ------------- test.pl #!Perl require "imgsize.pl"; call("01.jpg"); call("02.gif"); call("test.pl"); sub call { my $file = shift; print "call, file = $file\n"; &imgsize($file); if ($IMGSIZE{'result'} ==1 ) { print "OK, width=$IMGSIZE{'width'} heigtht=$IMGSIZE{'height'}\n"; } else { print "Error, msg=$IMGSIZE{'error_message'}\n"; print "And width=$IMGSIZE{'width'} heigtht=$IMGSIZE{'height'}\n"; } } __END__
その他の回答 (1)
- guci-ok
- ベストアンサー率33% (49/146)
linux上で確認しました。 Red Hat 7.3, Perl 5.6.1 下のtest.plを実行し、Windows上と全く同じ結果になりました。 本当に下のtest.plを実行して、だめですか? あ、先頭行は変えて下さいよ。 #!/usr/bin/perl とか。
お礼
ありがとうございます。 Linux上でも確認してくれたんですね。 私の書き方がまずかったのかもしれないです。 >for(条件){ >&imgsize($filename); >} のサイズ取得の前にイメージのアップロード処理が入ります。 複数アップロードした画像のファイルサイズを測ろうとしています。 アップロード部分を省いてguci-okさんの書いてくれたモジュールと同様にすれば動きました。ですが、アップロード処理を入れると、2番目以降の画像サイズが取得できませんでした。 という状況です。 すいません。せっかく試して頂いているのに、説明不足で。
お礼
ありがとうございます。わざわざ落として試してくれたのですね。本当にありがたいです。 当方、環境はlinux上です。 同じように、サブルーチン化して、ためしたのですが、駄目でした。前の状況と変わりませんでした。 もうすこし試してみたいと思います。