アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHP5+MySQL5です。

DB内のBLOBカラムに、Base64エンコードされた画像データが格納されています。
これを、サムネイル用に縮小して表示したいのですが、widthとheightで見た目だけを小さくするのではなく、ファイルサイズも小さくしてブラウザに渡したいと考えています。
(小さくした画像は保存しません)

そこで、DBから取得した画像データを「imagecopyresampled」で再サンプリングしつつ小さくしたいと思いましたが、画面には何も表示されませんでした。
以下、ソースを簡潔に記載します。

$db_img = "DBから画像データを取得"; //600x600の画像
//Base64デコード
$old_img = base64_decode($db_img);
//200x200のサムネイル画像を作成
$new_img = imagecreatetruecolor(200,200);
//再サンプリング・縮小(600x600→200x200)
$thumbnail = imagecopyresampled($new_img, $old_img, 0, 0, 0, 0, 200, 200, 600, 600);
//画面出力
print $thumbnail;

この場合、どのように処理すればいいのか教えていただけないでしょうか?
宜しくお願いします。

A 回答 (1件)

画像出力は、各フォーマットごとに関数が違いますが


jpgならimagejpeg関数です。
ヘッダーで画像形式を指定しないとブラウザによっては表示されません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
縮小する前は、IEではヘッダーなしで表示できています。

header()が直接関係あったのかどうかはわかりませんが、いろいろいじっていたら解決しました。(^^ゞ

お礼日時:2009/02/18 12:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!