Я ищу довольно долгое время, чтобы получить решение об использовании камеры, чтобы повернуть изображение перед сохранением в SD-карте. я пытаюсь захватить фотографию в портрете и перейти к файлу SD-карты, чтобы посмотреть его как пейзаж. Кто-нибудь понял, как это решить? Мой Кодекс до сих пор: -Цель камеры повернуть изображение перед сохранением в SD-карте
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == REQUEST_CAMERA) {
Cursor cursor = getContentResolver().query(Media.EXTERNAL_CONTENT_URI, new String[]{Media.DATA, Media.DATE_ADDED, MediaStore.Images.ImageColumns.ORIENTATION}, Media.DATE_ADDED, null, "date_added ASC");
if(cursor != null && cursor.moveToFirst())
{
do {
uri = Uri.parse(cursor.getString(cursor.getColumnIndex(Media.DATA)));
photoPath = uri.toString();
Matrix matrix = new Matrix();
ExifInterface exifReader = null;
try {
exifReader = new ExifInterface(photoPath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// Location of your image
int orientation = exifReader.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
if (orientation ==ExifInterface.ORIENTATION_NORMAL) {
// Do nothing. The original image is fine.
} else if (orientation == ExifInterface.ORIENTATION_ROTATE_90) {
matrix.postRotate(90);
} else if (orientation == ExifInterface.ORIENTATION_ROTATE_180) {
matrix.postRotate(180);
} else if (orientation == ExifInterface.ORIENTATION_ROTATE_270) {
matrix.postRotate(270);
}
}while(cursor.moveToNext());
cursor.close();
}
}
передать этот ответ http://stackoverflow.com/questions/14066038/why-image-captured-using-camera-intent-gets-rotated- on-some-devices-in-android – Shruti
см. этот ответ тоже http://stackoverflow.com/questions/6069122/camera-orientation-problem-in-android – Shruti
Я новичок в android. Могу ли я узнать, как слиться с моим кодом? на onActivityResult? – micky