मैं कैमरा रोल में छवियों को सहेजने के लिए writeImageToSavedPhotosAlbum:metadata:completionBlock: का उपयोग कर रहा हूं (जीपीएस डेटा मेटाडेटा में पास किया गया शब्दकोश में है)। हालांकि चित्रों को गलत बताया गया है (क्योंकि चित्रों को लेते समय मैं डिवाइस को फ्लिप करता हूं)।आईफोन पर EXIF (जीपीएस) और अभिविन्यास के साथ फोटो कैसे सहेजें?
एक और फ़ंक्शन लिखना है ImageToSavedPhotosAlbum: अभिविन्यास: समापनब्लॉक: लेकिन मैं EXIF डेटा पास नहीं कर पाऊंगा।
प्रलेखन के अनुसार, मैन्युअल रूप से अभिविन्यास सेट करने के लिए kCGImagePropertyOrientation संपत्ति है लेकिन मुझे तस्वीर लेने और इसे सहेजते समय डिवाइस के वर्तमान अभिविन्यास का पता लगाने में समस्याएं आ रही हैं।
क्या किसी ने EXIF डेटा और उचित अभिविन्यास के साथ तस्वीर सहेज लिया है? किसी भी मदद को बहुत सराहा जाएगा।
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[self dismissModalViewControllerAnimated:YES];
[imageView setImage:image];
if(sourceCamera) {
//EXIF and GPS metadata dictionary
(...)
//saving image
ALAssetsLibrary *al = [[ALAssetsLibrary alloc] init];
[al writeImageToSavedPhotosAlbum:[image CGImage]
metadata:dict
completionBlock:^(NSURL *assetURL, NSError *error) {
if (error == nil) {
NSLog(@"saved");
} else {
NSLog(@"error");
}
}];
[al release];
}
}
शुभकामनाएं,
एक:
यहाँ मेरी कोड है।
उत्तर के लिए धन्यवाद, आप बहुत अच्छे हैं! UIImageOrientation, यह इतना आसान है ... kCGImagePropertyOrientation और UIImageOrientation के लिए कोई भी समाधान नहीं मिला। मुझे बस इस बोर्ड से प्यार है! – akashic
एनोमी, जो समझ में आता है, लेकिन ओपी के कोड में वास्तव में सेटिंग क्यों करनी चाहिए, और कैसे? ओपी को वास्तव में कहीं भी केसीजी इमेजप्रॉपर्टीऑरिएंटेशन के लिए एक मूल्य निर्धारित करना है, है ना? –
@ बेंजामिनहेलर को आपके 'अलास्सेट' के मेटाडेटा शब्दकोश को संशोधित करने की आवश्यकता है। एक बार आपके पास 'एलासेट' हो जाने के बाद, मेटाडेटा शब्दकोश इस तरह से प्राप्त करें: 'myMetadataDictionary = [[myAsset defaultReresentation] मेटाडाटा] '। फिर, अभिविन्यास सेट करें: 'myMetadataDictionary [(NSString *) kCGImagePropertyOrientation] = ओरिएंटेशन', जहां 'अभिविन्यास' उपरोक्त @ एनोमी द्वारा दिए गए पूर्णांक में से एक है। –