2012-10-29 4 views
5

Mi occupo di immagini della fotocamera nella mia app che in realtà ottengo come urls.L'app fotocamera è in modalità verticale. Quindi le immagini vengono a volte ruotate o ruotate a destra. So che che possiamo usare EXIF ​​per il normale orientamento immagine dalla galleria, lì possiamo controllare il valore EXIF ​​e fare adeguate changes.Basicaly questo è il codice per Exifcome applicare l'orientamento EXIF ​​per le immagini come url in Android

ExifInterface exif = new ExifInterface("filepath"); 
exif.getAttribute(ExifInterface.TAG_ORIENTATION); 

Quindi la mia domanda è che cosa è il percorso del file nel mio caso, è l'url stesso o dovrei creare un file per quello .. Qualsiasi aiuto sarà molto apprezzato ....

risposta

1

Per prima cosa, tu devi ottenere Uri in onActiviryResult, come qui Get image Uri in onActivityResult after taking photo?
Quindi, quando hai Uri puoi ottenere filepath come questo: String filepath = getRealPathFromURI (someUri);

public String getRealPathFromURI(Uri contentUri) { 
    String res = null; 
    String[] proj = { MediaStore.Images.Media.DATA }; 
    Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null); 
    if(cursor != null && cursor.moveToFirst()){; 
     int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     res = cursor.getString(column_index); 
    } 
    cursor.close(); 
    return res; 
} 


Quindi, se filepath non è nullo e non vuoto, è possibile ottenere dati EXIF, controllarlo e ruotare l'immagine se necessario.
Spero che possa essere d'aiuto.

+0

come applicare l'orientamento EXIF? – NarendraJi

+0

È necessario ottenere l'orientamento, ad esempio: int pictureOrientation = exif.getAttributeInt (ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL); Poi devi controllare: se (pictureOrientation == ExifInterface.ORIENTATION_ROTATE_180) {... fare il vostro codice di rotazione qui} Devi controllare altri ExifInterface.ORIENTATION_ * params pure. – Evgen

+0

Ok, thnx per la risposta – NarendraJi

Problemi correlati