• 締切済み

DBに格納された画像データを縮小して表示したい

PHP5+MySQL5です。 DB内のBLOBカラムに、Base64エンコードされた画像データが格納されています。 これを、サムネイル用に縮小して表示したいのですが、widthとheightで小さくするのではなく、ファイルサイズも小さくしてブラウザに渡したいと考えています。 (小さくした画像は保存しません) そこで、DBから取得した画像データを「imagecopyresampled」で再サンプリングしつつ小さくしたいと思いましたが、画面には何も表示されませんでした。 以下、ソースを簡潔に記載します。 $db_img = "DBから画像データを取得"; //600x600の画像 $old_img = base64_decode($db_img); $new_img = imagecreatetruecolor(200,200); //200x200のサムネイル画像を作成 $thumbnail = imagecopyresampled($new_img,$db_img,0,0,0,0,200,200,600,600); print $thumbnail; $old_imgの処理が間違っているのだろうと思うのですが、どのように処理すればいいのかわかりませんでした。 この場合、どのように処理すればいいのか教えていただけないでしょうか? 宜しくお願いします。

みんなの回答

  • warez
  • ベストアンサー率57% (29/50)
回答No.1

$thumbnail = imagecopyresampled($new_img,$db_img,0,0,0,0,200,200,600,600); ↓ $thumbnail = imagecopyresampled($new_img,$old_img,0,0,0,0,200,200,600,600); ではないですか?

ka-kichi
質問者

補足

すみません。間違ってました。 ご指摘の通りです。 ただし、ここに転記する際に間違ったもので、実際のソースは$old_imgを使用しています。

関連するQ&A