LoginSignup
16
23

More than 5 years have passed since last update.

PHPで画像バイナリ←→リソース変換

Last updated at Posted at 2014-12-16

画像を取得する多くの場合はファイルから読み込むかURLから読み込むかが殆どだったため、
画像をバイナリで取得してきた場合にどう扱うのか迷ってしまった。

バイナリ→リソース

画像がバイナリでPHP上に与えられるケースはDBに画像が保存されている場合などが考えられるでしょうか?

画像のバイナリをリソースに変換するにはimagecreatefromstringという関数を使えばいいようです。

$image_resource = imagecreatefromstring($image_binary);

簡単ですね。

リソース→バイナリ

リソースとなった画像はPHPで切ったり貼ったり出来ますが、その編集結果をまたバイナリに戻したいというケースもあるでしょう。

image操作関数は多くありますが、画像リソースをブラウザ・ファイルに出力する関数はあっても、バイナリデータにする関数は見当たりません。
なので、バッファに一旦画像バイナリを出力して変数に格納する必要があります。

ob_start();
imagepng($image_resource, null, 9); // png画像をminify
$image_binary = ob_get_clean();

読み込んだ画像リソースを整形して保存するときなどに覚えておくと便利です。

16
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
23