2013-04-26 7 views
5

私はJPEGイベントのコールバックでtakePictureを呼び出します。ここではcamera.takePicture(null, null, this);なぜonPictureTakenの画像バイトデータが鏡像になりますか?

は、コールバックハンドラである:テストで

@Override 
public void onPictureTaken(final byte[] data, Camera camera) { 
    Bitmap picture = BitmapFactory.decodeByteArray(data, 0, data.length); 
    MediaStore.Images.Media.insertImage(getContentResolver(), picture, "name" , "description"); 
} 

、私はイメージが常にy軸の周りにミラーされていることを発見しています。誰もが(1)これがすべてのデバイスで発生するかどうかを知っていますか?(2)なぜ?バイトデータがカメラのプレビューに表示されているデータを表していないのはなぜか分かりません。それは不合理な追放ですか?

答えて

4

私はフロントカメラを使用していると思いますか? これはフロントカメラの動作です。 ラップトップでWebカメラを使用しても、同じです。

修正したい場合。ご参考までにHere

+0

ニース!ありがとう。フロントカメラ*がそんなにミラーリングしているかどうかのドキュメントはありますか?それとも、すべての製造業者が従うという、書かれていないルールですか? – user5243421

+0

一般的な仕様だと思います。カメラがあなたに面しているとき、それはその視点からイメージを取るでしょう。 (これはあなたが見ているものとは逆です)。ドキュメンテーションについてはわかりませんが、Samsung、HTC、Sonyのデバイスはすべてこのように動作します。 – Calvin

関連する問題