Android Oneの電話機やエミュレータでアプリケーションをテストすると問題はなくなりますが、他のデバイスで問題はあります。アンドロイドでカメラの方向を検出する方法は?
問題は、私は基本的にカメラの意図を送信し、ユーザーが写真を撮った後にデータをインテントから取得し、カメラから取得したものをImageView
のピクセルに設定します。いくつかのデバイス(サムスンの大部分)の画像は回転しているので、撮影されたときには表示されません。
私のアプリはポートレートモードでのみ動作しますが、画像を撮るときに電話機を回転させると、風景モードで写真を撮ることもできます。
デバイスがイメージを回転するデフォルトの角度を検出する方法はありますか?イメージを撮影した後にビットマップを回転させますか?ここで
コードです:
意図送信:あなたがMAKしたい場合は
public void setBitmapOfImageView(int photoId, Bitmap bitmap)
{
mPhotos[photoId].setImageBitmap(bitmap);
mPhotosState[photoId] = 1;
}
public Bitmap decodeAndReturnBitmap(String filePath)
{
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeFile(filePath, o);
final int REQUIRED_SIZE = 512;
int widthTemp = o.outWidth, heightTemp = o.outHeight;
int scale = 1;
while (true) {
if (widthTemp < REQUIRED_SIZE && heightTemp < REQUIRED_SIZE) {
break;
}
widthTemp /= 2;
heightTemp /= 2;
scale *= 2;
}
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = scale;
return BitmapFactory.decodeFile(filePath, o2);
}
ありがとう:ここ
はコードです。 2番目と3番目の引数に引数をつけて渡す必要がありますか? –あなたが書いたコードを共有していただけますか? –