CGI(perl)でのGIF出力について
[上に]
[前に]
[次に]
鈴木真
1999/10/10(日) 16:53:44
perlでGIFを表示するプログラムを作っているのですが、
print "Content-type: image/gif\n\n";
open(IN, "image.gif");
print while (<IN>);
close(IN);
と書くと大抵のGIFは大丈夫なのですが、
一部のじふだとうまく表示されなかったり、
リロードするたびに色調が変わったりするのですが、
回避する方法はないのでしょうか?
出力した画像と元の画像をバイナリで比べてみると
1バイトだけ違ってて「???」な状態です。
環境はWin95とApacheですけどバイナリモードで読みこんでも同じでした。
ジェンウェイ大佐
1999/10/11(月) 00:09:08
http://www.tohoho-web.com/wwwperl1.htm#Binary
あたりが参考になるのでは? あなたが示したプログラムでは
バイナリ読み込みをしていないからではないでしょうか?
バイナリモードで読み込んでも・・・ というのが引っかかりますが。
moci
[E-Mail]
1999/10/11(月) 03:24:08
バイナリでくらべた時に、どう違っていたのかは分かるのですよね。
それで読み込みをバイナリにしてみたのでは?
でしたら、書き出しもバイナリにしてみてはいかがでしょうか。
とほほ
1999/10/12(火) 21:22:44
読み込み(IN)と書き込み(STDOUT)をバイナリモードにする、つまり、
具体的に言うと、open(IN, ...)の次の行に、以下の2行を追加して
みてください。
binmode(IN);
binmode(STDOUT);
鈴木真
1999/10/13(水) 15:38:27
[[解決]]
解決致しました。
書き出しもバイナリでしてやらないといけなかったんですね。
回答してくれた方に感謝!
[上に]
[前に]
[次に]