質問 > フロント機能 > GPSモバイル機器で撮影した写真に付随するexif情報を削除する機能をeccubeに付加可能でしょうか。 |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
468 |
投稿日時: 2017/11/19 10:54
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: GPSモバイル機器で撮影した写真に付随するexif情報を削除する機能をeccubeに付加可能でしょうか。 まず、やはりExif情報は保持されていなかったとの事、ご確認ありがとうございます。
このスレッドが立ち上がってから、ずっと気になっていた事が1点あるのですが、 Exif情報と画像の向きの関係について、私の認識と違いがあるように感じているのですが、如何でしょうか? タイトルでもそうですが、Exif情報を削除すれば、向きがおかしい状態が解消され、正しい向きで表示されるというようにおっしゃられていると思いますが、 私の認識では、画像ファイル自体はおかしな向きで保存されていて、 デジカメやビューアーアプリで表示する際、Exif情報を用いて自動的に向きを回転させて表示しているので、正しい向きで表示されているように見えているという認識です。 その為、Exif情報を削除すると、自動回転処理が行われず、向きがおかしいまま表示されると思います。 (各社SNS等ではExif情報を削除していると記述がありましたが、 ECCUBEもExif情報は削除しているという事を今回ご確認いただけているかと思います) リンクで参照サイトを提示いただいておりましたが、どのサイトもまずはPHPでExif情報を読み取り回転を処理する事が記述されていたと思います。 デジカメ内やPCのビューアーアプリが表示時に行う自動回転処理をPHPで実装する方法のページかと思いますので、 そこを参考に自動回転処理を実装する作業は避けて通れないと思います。 (これを実装しないと問題は解決しないと思います) SNS各社もExif情報を削除する時に、自動回転処理を実行していると思いますが・・・。 幸い、gdthumb->Main()内でグラフィック関数を用いて、 アップロードした画像のグラフィックデータのみ、一時フォルダへ新規作成した画像データへコピーしていると思いますので、 (ここでファイルコピー処理だった場合は、Exif情報も併せてコピーすると思いますが、 グラフィックデータのみコピーしていますので、Exif情報は無くなっていると思います) 同じくグラフィックデータに対して、Exif情報のorientationによる自動回転を処理すれば良いと思います。 アップロードファイルの仕組みですが、PHPの場合、ざっくり以下の流れとなるかと思います。 1.→2.の処理は、ブラウザとサーバが勝手にやってくれる処理で、 2.→3.の処理は、通常、プログラマが自分で作る必要のある処理です。 今回、2.→3.の処理がgdthumb->Main()にあたると思います。 その処理の中で、参照元ファイル[tmpディレクトリ(OS)]、参照先ファイル[一時ディレクトリ(temp_image)]のパスを変数に格納していると思いますので、 参照元ファイルのExif情報を読み込んで、 参照先ファイルの画像を回転させればいいのではないかと思います。 1.ブラウザからリクエストにファイルが含まれて送信される(POSTデータ) ↓ 2.tmpディレクトリ(OS)にファイルが保存される(ここまで終わって$_FILES変数でファイルにアクセスできる) ↓ 3.tmpディレクトリ(OS)からWEBアプリ内のディレクトリ(ECCUBE2では/temp_image)にコピー
|
フラット表示 | 前のトピック | 次のトピック |