新規記事投稿 フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: imgタグから呼んでるCGIの仕組みは?
Date: 2000/10/08 23:23:42
Reference: mesh.program/00707

10月8日に、SAYKA.さんは書きました。

>10月7日に、にあさんは書きました。
>
>>いや、単純にCGIでGIF画像を出力しているだけです。
>
>という事はGIFを読み込んで
>printf("Content-Type: image/gif\n\n");
>ってやってstdoutにたれ流しっていう安直なやり方なんですか?(^^;

だと簡単で良いのですが、複数桁繋げて一つの画像にするには、一度繋がった数字画像を
作っておき、それをGIFのフォーマットにしたがって出力する必要があります。

>この時必要な個数分だけgifデータを読んで出力すれば(隣の座標に)繋がってでるって事でしょうか?

ということで、これでは上手くいきません。
もっとも、ひとつながりの画像にしないで並べる方法なら、GIFデータを読んで書く、
と言った方法も使えます。もちろん、その場合でも、単に続けて出力しても
並んでは表示してくれませんから、フォーマットにしたがって再結合する必要は
ありますが、LZWの伸張、圧縮を行う必要がありませんから、Unisysの特許に
抵触せず圧縮GIF画像を扱うことが出来ます。
# 世の中にある、perlを使ったカウンタは大抵このタイプじゃないかしら?

>PNGとか言うが進出してきてますが、なんかまだぱっとしない感じします。個人的に(^^;

PNGは主要ブラウザがサポートするようになったので、もう十分使える段階に
入っていると思います。ただ、PNG単体ではアニメーションが出来ないんですよ。

現在、Web上の画像では、フルカラーの物は大抵JPEGになっていますから、
GIFが使われているのは、ごく小さいアイコンかアニメーションとなってしまって、
なかなかPNGで置き換わることが進みませんね。アニメーション対応のMNGが
広範囲に使われるようになれば事情は変わるとは思うのですが。

現在、GIFの代わりにPNGを使うのは、Unisysに対する抗議の意味が強くて、
PNG自体の魅力で使うのは、ごく限られた範囲内でしか無いですから。
# たとえば、24bitsフルカラーをlossless圧縮で置きたいと言う、
# どちらかと言うとマニアックな趣味とか。(^^;;