ad

2012年6月16日土曜日

Google+の投稿を取得する その3 〜画像編〜

前回の記事 Google+の投稿を取得する その2で,
画像URLを取得出来るようになったが,画像の向きがおかしくなっている.
https://plus.google.com/106102390858541443310/posts/JafA2EwwDpe

Google+APIで取って来れる情報の中には,画像の種類,縦の長さ,横の長さが格納されているが,
画像の向きはexif情報から抜き出す必要がある.

 
<?php
//exif_read_dataを使って情報を抜き取る
$exif = exif_read_data("https://lh4.googleusercontent.com/-HaywpH9Rzfg/T9nkaP7qSUI/AAAAAAAARC0/KJGPYgoY5aI/s0-d/14%2B-%2B1.jpg");
print_r($exif);

//画像URLには数種類有り,s0-dの部分や,.jpgの拡張子が無いものなどがあるので,
//ifで分けて適切に変更.
?>

 

//細かい情報.この中のOrientationが向きについて.
[ImageWidth] => 1600 [ImageLength] => 1200 
[Make] => SAMSUNG [Model] => SC-03D 
[Orientation] => 8 
[XResolution] => 72/1 [YResolution] => 72/1 
[ResolutionUnit] => 2 [DateTime] => 2012:06:14 21:59:53 
[YCbCrPositioning] => 1 [Exif_IFD_Pointer] => 198 


Orientation については,以下の記事を参考にさせて頂いた.
JPEGのExifタグ情報のOrientaionの定義の早見表

画像の回転角度は判明したが,htmlのimgタグには画像を回転させるオプションが無い.
そこで,ヘッダー等の情報を取り外し,画像のデータをピクセル単位で読み込み,並べ替える.

なんてことはしない.(昔はゴリゴリとスクラッチから書いてやってましたけど

イマドキは,javascriptでシャレオツなコードを書くのが良いらしい.

コレを使った.http://code.google.com/p/jqueryrotate/
コードはこんな感じ.
 




<img src="https://lh4.googleusercontent.com/-HaywpH9Rzfg/T9nkaP7qSUI/AAAAAAAARC0/KJGPYgoY5aI/s0-d/14%2B-%2B1.jpg" id='pictUrl' height="300" width="400">

javascriptの動かし方のようにして,javascriptを動かすと,こんな感じ.








取り敢えず,画像の回転を簡単にやってみました.

0 件のコメント:

コメントを投稿