- 2008-08-31 (日) 3:16
- PHP
夏らしい花火画像です。さて左右の画像のうち、どちらがJPEG画像でしょう。
一見どちらもJPEG画像っぽいですが、実は片方はHTMLのtableだけで描画しています。
そんな画像をtableタグで描画するPHPクラスを書いてみました。
インストール
以下のURLからPHPファイルをダウンロードして、任意のディレクトリに設置するだけでokです。
http://www.1×1.jp/blog/download/TableImage.php
使い方
requireして、TableImage::createTag()に画像ファイルパスを与えるだけです。createTag()からは、画像を変換したtableタグが文字列として返ってくるので、それをechoすれば、tableタグで描画していた画像が表示されます。
対応画像
現在のところGIF/JPEG/PNGに対応しています。
画像サイズにTableImageクラスとしての制限はありませんが、ブラウザがtableを描画するのにマシンパワーをかなり喰うので、VGA以上の大きな画像はやめといた方が良いです;-)。
実装の経緯
ネタ以外で、何の役に立つんだ?的なライブラリです。
実は、某デバイスでの開発案件に携わったのですが、外部テキストは読めるのに、外部画像が読み込めないという困った仕様にぶち当たりました。
画像をシリアル化して、imgタグにJavaScriptで読ませるというのも試したのですが、こちらも動作しませんでした。
そんな時に、FirefoxでQRコードを生成するQR Codeに含まれるJavaScriptライブラリ、QRコードのソースを見ました。QRコードをtableタグで表現する手法を見て、まさに「我が意を得たり」な気分でした:-D。
このライブラリを公開されている荒瀬氏にはホント感謝感謝です。
# ただ他の要因があって、案件ではこのクラスは使わない方向です。。。
- Newer: CakePHPカンファレンス東京が開催されます。
- Older: 携帯電話を無くした時に知っておくこと au編
コメント (Close):2
- ごんごん 08-09-05 (金) 14:08
-
おもれぇ、笑ったw
ブラウザの耐久試験だ
class で出力サイズ減らせませんか?
- shinbara 08-09-05 (金) 21:42
-
ごんごんさん:
classにまとめると出力サイズは少なくなりますが
別途定義が必要になるので、お手軽に試せるようにインラインに書いてます。
# まあ半分ネタなんで(w
トラックバック:0
- このエントリーのトラックバックURL
- /blog/2008/08/php_class_table_image.html/trackback
- Listed below are links to weblogs that reference
- tableタグで画像を描くPHPクラスを作ってみた from Shin x blog