2012-10-29 19 views
5

में यूआरएल के रूप में छवियों के लिए EXIF ​​अभिविन्यास को कैसे लागू करें, मैं अपने ऐप में कैमरा छवियों से निपट रहा हूं जो वास्तव में यूआरएल के रूप में प्राप्त होते हैं। कैमरा ऐप पोर्ट्रेट मोड में है। इसलिए छवियों को कभी-कभी घुमाया जाता है या दाएं घुमाया जाता है। मुझे पता है कि हम गैलरी से सामान्य छवि उन्मुखीकरण के लिए EXIF ​​उपयोग कर सकते हैं, वहाँ हम exif मूल्य की जाँच और उचित changes.Basicaly इस exifएंड्रॉइड

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

के लिए कोड है तो मेरे सवाल का क्या मेरे मामले में filepath है क्या कर सकते हैं, क्या यह यूआरएल स्वयं है या मुझे इसके लिए एक फाइल बनाना चाहिए .. किसी भी मदद की सराहना की जाएगी ....

उत्तर

1

सबसे पहले, आप Uri में AtctiviryResult में, जैसे Get image Uri in onActivityResult after taking photo?
फिर, जब आपके पास उरी है तो आप इस तरह फ़ाइलपैथ प्राप्त कर सकते हैं: स्ट्रिंग 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; 
} 


फिर, अगर फ़ाइलपैथ शून्य नहीं है और खाली नहीं है, तो आप EXIF ​​डेटा प्राप्त कर सकते हैं, इसे जांच सकते हैं और इसकी आवश्यकता होने पर छवि को घुमा सकते हैं।
आशा है कि इससे मदद मिलेगी।

+0

EXIF ​​अभिविन्यास कैसे लागू करें? – NarendraJi

+0

आपको अभिविन्यास प्राप्त करना होगा, जैसे: int pictureOrientation = exif.getAttributeInt (ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL); तो फिर तुम यह जाँच करने के लिए है: अगर (pictureOrientation == ExifInterface.ORIENTATION_ROTATE_180) {... अपने रोटेशन कोड यहाँ करने} आप अन्य ExifInterface.ORIENTATION_ जाँच करने के लिए है * पैरामीटर के रूप में अच्छी तरह से। – Evgen

+0

ठीक है, उत्तर के लिए thnx – NarendraJi