スポンサーサイト


    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。





    Androidで画像の方向(向き)を取得する



    ■ギャラリーから呼び出す画像の向きを取得する

    開発中にこんなことはないだろうか。
    「ギャラリーから画像を呼び出したは良いが、機種によって縦横の方向が
    バラバラやんけ!!」
    そう、こんなことが稀に良くある。(どっちだ)

    そんな悩めるあなたに、というか悩んでた自分用にメモです。
    画像の向きを取得して、どの機種で読み込んでも同じ方向にする方法は以下↓

    ■1.呼び出す画像のFilePathをゲット
    ■2.ExifInterfaceで画像のTAG_ORIENTATIONを取得
    ■3.ゲットしたORIENTATIONをもとに、画像をぐるぐる回転

    どうだろう、そんなに難しい手順じゃない。調べるのに半日かかったけど、
    知ってしまえば大丈夫だ!
    (ちなみに上記手順は僕が勝手に調べた方法なので、もっと簡単な方法がある
    可能性が高いので、あれば教えて下さい)

    じゃあ、まずは■1.呼び出す画像のFilePathをゲットから



    特にニーズを無視して、いきなりコードを書きました。
    上記はIntentで画像をゲットするときのonActivityResultに書いたものです。
    なので、Intentで渡されるdataをもとにしています。
    参考サイト:http://www.android-navi.com/archives/android_1/_uri_path/

    「c」がFilenameとなります。
    ↑に続いて↓で ■2.ExifInterfaceで画像のTAG_ORIENTATIONを取得、をする。


    参考サイト:http://techbooster.jpn.org/andriod/multimedia/3098/
    ↑サンプルコードは必見

    1.で取得したCをもとに、ExifInterfaceでfilenameをゲットしています。
    そしてそのファイルの情報をgetExifStringメソッドでジャンジャン取得してログに表示してます。
    getExifStringメソッドは一部抜粋なので参考サイトをちゃんと読んでね。ためになるよ。
    (exifStringRは画像回転用に自分で作ったただのString変数です)

    ここまで来たら、画像に関する情報は取得できるので、あとはそれをもとに
    画像を回転させるだけです・・・だけです。なんだけど、そこでも結構ハマったのでそれは次回。

    関連記事
    スポンサーサイト





    コメントの投稿

    非公開コメント

    カテゴリ
    検索フォーム
    メールフォーム

    名前:
    メール:
    件名:
    本文:

    お世話になっている書籍達




















    リンク



    最新記事
    月別アーカイブ
    最新コメント
    プロフィール

    yukinori110

    Author:yukinori110
    Androidってなに?Javaってなに?というレベルから勉強してます。

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。