[PHP-users 21708]gd関数で作られたデータの扱い

大場 甲子郎 oba @ apullo.com
2004年 5月 18日 (火) 22:27:16 JST


はじめまして。大場といいます。

初心者な質問お許し下さい。
PHP4.2.2+MySQLで画像データベースを作成中なのですが
今回は画像をファイルではなく、DBにバイナリとして保存しています。
対象となる形式は jpg、png、gifです。
その際、gd関数を用いてDBに保存されたファイルや
formから渡ってくる$FILESより文字を挿入したりサイズを修正したりしています。

ここでつまずいたのは、バイナリデータを直接gd関数に渡す事はできないのか?
と言う事と、gd関数で修正したイメージを変数に格納する事はできないのか?
と言う事です。

現在、その方法がわからず、一旦作業ファイルを生成して、そこを中継してやり取り
していますが、
感覚としてスマートじゃない気がします。

例えば

$image_id = ImageCreateFromGIF('hogehoge.jpg');
等としたときに戻り値にイメージリソースを得れるとPHPポケットリファレンスに書
いてあったのですが
それをvar_dumpしても、文字列しか返りません。(イメージリソースのポインタか何
か?)
こんな事はできるのかどうかわかりませんが、
gdのイメージリソースにアクセスして、イメージデータを取得、逆に設定 という事
はできないのでしょうか?

今考えている方法は、
画像として出力するPHPプログラムをgd関数のファイル引数に渡してみると言うこと
ですが、
結局やっていることはファイルを中継するのと同じ事です。

何か良い方法があれば宜しくお願いします。




PHP-users メーリングリストの案内