私は写真を撮り、私が望むように垂直型のサンプルを撮って、水平ラップを行い、練習練習を望むのと同じように垂直写真を保存します、アクティビティはViewerActivityですここで問題がImageViewで表示される瞬間から水平サンプル:/彼が読んでいて、画像の向きを制御できるExifInterfaceクラスがありますが、Imageがまだ水平であるonActivityResult with ImageView
このクラスは写真を担当しています。
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == Activity.RESULT_OK) {
try {
ExifInterface exifInterface = new ExifInterface(photoFile.getAbsolutePath());
int valor = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
switch (valor) {
case ExifInterface.ORIENTATION_ROTATE_90:
orientation = 90;
break;
case ExifInterface.ORIENTATION_ROTATE_180:
orientation = 180;
break;
case ExifInterface.ORIENTATION_ROTATE_270:
orientation = 270;
break;
}
} catch (Exception e) {
Log.d("mensaje", e.toString());
}
Intent i = new Intent(this, ViewerActivity.class);
i.putExtra(EXTRA_PHOTO_PATH, photoFile.getAbsolutePath());
i.putExtra(EXTRA_PHOTO_ORIENTATION, orientation);
i.putExtra(EXTRA_PHOTO_EDIT, false);
startActivityForResult(i, 10);
このViewerActivityクラスには、写真を表示し、それ
private void sendPicture() {
Intent intent = new Intent();
intent.putExtra("path", localPath);
intent.putExtra("orientation",orientation);
setResult(Activity.RESULT_OK, intent);
finish();
}
それを試してみて、この方法については私の他の疑いが生じ、中に実装することができ、以下のような
RotateLayout
オブジェクトに、Javaコードから動的に角度値を設定することができます画像をキャプチャするとき、またはすでにimageViewに送信したときの部分ですか?あなたのサポートに感謝します – Devix結果のビットマップをファイルに変換してください。 –