• ベストアンサー

HTMLでRGBデータを使って画像を表示させることはできますか?

 ブラウザで表示できないファイル形式の画像を表示させるためのCGIプログラムを作成しています。  ファイルから圧縮されたRGBデータを解凍して取り出すことまではできました。これを別のファイル形式にして保存するのではなく、RGBデータをそのまま使用してHTMLで表示できないかと考えています。  ファイルを指定して画像を表示するのではなく0から255もしくは00からffのデータの配列でHTMLに出力する方法があるか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

酔狂なことをちょっとやってみました。 (#1はやらずに回答しました。すみません。) 結果、width="1" height="1" では1つのセルが1文字分占領するので縦長になってしまいます。 環境によるのかもしれませんが、heightが1だったらwidthは3くらい必要なようです。 加えて、フォントサイズの指定もしないと(これまた1文字分占領するので)マス目が大きくなります。 cssで書くと TABLE { font-size: 1pt }  TD { width: 3px; height: 1px } で(Firefox3では)まともに表示出来ました。といっても300%に拡大した状態でしたが。 #たぶんfont-size:1ptが実現されているわけでなく可能な限り小さくなるだけ #font-familyも考慮すべきかも。 もちろんブラウザ依存なので他のブラウザで同じように表示される確証がまったくありません。 この方法では出来なくはないが、表示が歪む可能性が大きいので避けるべき という事だと思います。

noname#110142
質問者

お礼

試しました。 tableタグに border=0 cellpadding=0 cellspacing=0 を設定。 cssでtableに  font-size:1pt;border-spacing:0  tdに  width:1px;heigth:1pxを設定。 <td></td>の間に<font></font>を入れtdのbgcolorと同じ色を設定。 &nbsp;だと縦長になったので全角文字1文字を入れました。 表示されたものは元の画像より、縦が2.25倍、横が2倍くらいの大きさになりましたが、元の画像を拡大したものより幅が少し狭いけど、同じような画像として表示されました。 少し画像の大きさの比率が変わりますが、表示できるようになりました。 ありがとうございます。

その他の回答 (1)

回答No.1

border="0" cellpadding="0" cellspacing="0" なtableで width="1" height="1" な td に bgcolor="#xxxxxx" を指定して &nbsp;を置けば「描ける」はずです。 当然、120ピクセル×80ピクセルの"画像"の場合80個のtrと9600個のtdが必要です。 そんな酔狂なことするならPNGなりGIFなりに書き出した方が賢明です。

参考URL:
http://playerb-web.hp.infoseek.co.jp/al/table.html

関連するQ&A