2018.10.19現在、公式ドキュメントにはrgbが使えると書いてありますが、エラーになるので、省略しています。objはドキュメントには書かれていませんが利用できているので紹介しています。exif()画像に埋め込まれたEXIFデータ(撮影日時やGPSなどの情報)を取得するには、exif()を使います。PHP関数のexif_read_data()が使えるようになっている必要があります。現在のところこの関数がサポートしているのはjpegとtiff形式のみです。実際の使い方は以下のようにすると全てのEXIFデータを配列で受け取ることができ、$img->exif();また、引数にタグ名を指定するとそのデータのみ取得できます。iptc()画像に埋め込まれたIPTCデータを取得した場合です。全てのIPTCデータを配列で取得なお、引数にキーを指定することで特定のデータのみを取得することもできます。著作権のみ取得ちなみに取得できるキー(と内部的なキー)は以下になります。stream()$img->stream();なお、第1引数に画像タイプを指定することができます。利用できる画像タイプはresponse()をご覧ください。response()$img->response();なお、第1引数で画像タイプを指定することができます。$img->response('jpg');指定できる画像タイプは次のとおりです。GDの場合はtifとbmpはサポートしていません。Laravelの場合Laravelを利用している場合は、自動的にIlluminate\Http\Responseのインスタンスになるので、コントローラーやルーティングの中でreturnするだけで画像を表示させることができます。画像の生データが返ってきます。Imageは初期状態ではGDライブラリを利用する設定になっていますが、ImageMagickもサポートしています。ImageMagickを使いたい場合は、以下の手順を行ってください。コマンドを実行するとコンフィグファイルをパブリッシュ(カスタマイズできるようにメインブロックへファイルをコピー)することができます。--provider="Intervention\Image\ImageServiceProviderLaravel5"そして、コピーされたconfig/image.phpを開いてdriverをimagickへ変更しましょう。実行環境にImageMagickがインストールされている必要があります。imagemagickとするとインストールすることができ、コマンド名はconvertになります。シンプルに以下のようにコードでも変更することができます。cache()画像のキャッシュを利用するには、intervention/imagecacheという専用のパッケージが必要になります。そのため、実行する前に以下のコマンドでパッケージをインストールしておきましょう。intervention/imagecacheインストールが完了したら以下のように実行してください。Imageのオブジェクトとして取得し、falseの場合は画像データが取得されます。ちなみにLaraveではstorage/framework/cache/dataフォルダ内にキャッシュデータが保存されます。reset()例えば、次のような例です。黒い画像をつくる赤で塗りつぶす状態を覚えておく(backup)青で塗りつぶすやっぱり元に戻す(赤に戻る)では実際にコードで見てみましょう。reset()はbackup()と対になるメソッドなので必ず先にbackup()を実行しておく必要があります。Imageが利用するメモリは、PHPが終了するときに自動的に開放されるようなっています。大きな画像を扱っている場合はできるだけ早くメモリを開放したいでしょう。そんな時はdestroy()を明示的に実行してメモリを開放させることができます。encode()例えば、PNG形式の画像をJPG形式に変換する場合です。$img->encode('jpg');変換できる形式は以下になります。jpgpnggiftifbmpicopsdwebpdata-urlちなみにjpgの場合のみ第2引数で画質を指定することができます。Filter()例えば、画像の横幅が指定の長さよりも大きい場合はリサイズするというフィルターを実装する場合です。Intervention\Image\Filters\FilterInterfaceをimplementしたクラスを以下のように作成します。Imageのインスタンスになります。実際にフィルターを使う部分です。横幅が50pxより大きければリサイズこのように機能別で独自のフィルターを作っておけば、また別の開発でも再利用がしやすいので、ぜひ活用したいところです。getCore()例えば、GDのリソースやImageMagickのインスタンスを取得したい場合です。interlace()画像をインターレース対応にするかどうかを設定するにはinterlace()を使います。orientate()このメソッドは、まずEXIFデータのOrientationデータを読み込み、必要であれば画像を回転させるというものです。そのため、EXIFが読み込めない、またデータがない場合は使えません。Imageでサポートしている画像形式GDを使うか、ImageMagickを使うかで扱うことができる画像形式が違ってきます。Googleが開発した軽量画像形式。「ウェッピー」と読みます。懐かしのビットマップ形式。ファイルサイズが大きい。開発スキルプログラム開発は15年以上。Laravel、Vue.jsをメインとしてPython(機械学習)やElectronの開発もお引き受けしております。過去2度カナダのバンクーバーに滞在していました。開発状況によりましては開発をお待ちいただく可能性がございますが、いつでもご相談は受けさせていただいております。お気軽にご連絡ください!お問い合わせフォーム開発してほしい機能を募集中!MITライセンスで公開します。詳しくはこちらの記事をご覧ください。ぷれりり・プレスリリース掲載無料のプレスリリース・スタンド!播磨孤道(はりまこどう)兵庫周辺のゆったり自転車一人旅の記事を書いていきます。