1

画像をサーバーにアップロードするために iPad 用の HTML5 でアプリケーションを作成しています。次のような入力ファイル要素をクリックすると:

<input id='fileup' type='file' accept='image/*' name='upf' onchange='abv();'/>

デバイスのカメラから写真を撮るか、既存のものからアップロードする可能性があります。ただし、写真を撮るときは、写真が撮られた瞬間のデバイスの向きに基づいて結果の画像が回転します。私がやりたいことは、キャプチャした画像の向きを把握し、サーバー側で回転させようとすることです。

このアプリケーションは完全に Web ベースであるため、iOS ツールやフレームワークにはアクセスできないことに注意してください。

次に、画像を適切な位置に回転できるように、クライアントまたはサーバー側でアクセスできる画像の向きに関する情報はありますか? EXIF データについて聞いたことがありますが、アクセス方法や、必要な情報が得られるかどうかがわかりません。

サーバー側で python を使用していますが、C/C++ でのソリューションも歓迎します。

ありがとう。

4

1 に答える 1

1

サーバー側でpythonを使用しています

したがって、EXIF自動変換を実行する機能を提供するjpegtran-cffi Python パッケージを使用できます。

# jpegtran can transform the image automatically according to the EXIF
# orientation tag
photo = JPEGImage(blob=requests.get("http://example.com/photo.jpg").content)
print photo.exif_orientation  # "6" (= 270°)
print photo.width, photo.height # "4320 3240"
corrected = photo.exif_autotransform()
print corrected.exif_orientation  # "1" (= "normal")
print corrected.width, corrected.height  # "3240 4320"

注: README から抜粋。


別の方法として、同じ目的で使用できるjheadという便利なコマンドライン ツールもあります。

#    Remove EXIF orientation
#    i.e. rotate the image accordingly and reset the orientation
#    flag to 1 (default, i.e. origin = TopLeft)
#    WARNING: the image file is overwritten!
#    NOTE: it also works with a wildcard: jhead -autorot *.jpg
jhead -autorot myimage.jpg
于 2014-03-21T08:33:56.467 に答える