मैं कुछ छवियों को आयात करने के लिए आईपैड फोटो लाइब्रेरी (कैमरा रोल) का उपयोग कर रहा हूं, और उन्हें आवंटित विधि का उपयोग करके UIImageView में रखता हूं। लेकिन जब छवियां दिखायी जाती हैं तो एक बड़ी छवि गुणवत्ता हानि होती है। उदाहरण के लिए, पुस्तकालय में एक नदी के साथ एक छवि है जो बहुत तेज है, पिक्सेल द्वारा पिक्सेल है, लेकिन जब मैं इसे आयात करता हूं तो यह पिक्सेल के कम से कम आधा खो देता है। इस छवि को आयात करने के लिए कोड है:आईओएस लाइब्रेरी से आयात करते समय उल्लेखनीय छवि गुणवत्ता हानि
- (IBAction) useCameraRoll: (id)sender
{
@autoreleasepool {
if ([self.popoverController isPopoverVisible]) {
[self.popoverController dismissPopoverAnimated:YES];
} else{
}{
if ([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
@autoreleasepool {
UIImagePickerController *imagePicker =
[[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.mediaTypes = [NSArray arrayWithObjects:
(NSString *) kUTTypeImage,
nil];
imagePicker.allowsEditing = YES;
self.popoverController = [[UIPopoverController alloc]
initWithContentViewController:imagePicker];
}
popoverController.delegate = self;
[self.popoverController
presentPopoverFromBarButtonItem:sender
permittedArrowDirections:UIPopoverArrowDirectionUp
animated:YES];
newMedia = NO;
}}
}
}
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self.popoverController dismissPopoverAnimated:true];
@autoreleasepool {
NSString *mediaType = [info
objectForKey:UIImagePickerControllerMediaType];
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
UIImage *image = [info
objectForKey:UIImagePickerControllerEditedImage];
image1.image = image;
if (newMedia)
UIImageWriteToSavedPhotosAlbum(image,
self,
@selector(image:finishedSavingWithError:contextInfo:),
nil);
}
else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie])
{
// Code here to support video if enabled
}}
}
-(void)image:(UIImage *)image
finishedSavingWithError:(NSError *)error
contextInfo:(void *)contextInfo
{
if (error) {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Save failed"
message: @"Failed to save image"\
delegate: nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
}
और गुणवत्ता अंतर (छवि से ज़ूम इन) लेकिन आप स्पष्ट रूप से भी छोटे पैमाने में अंतर देख सकते हैं:
आईओएस पुस्तकालय:
मेरे UIImageView:
इस आईपैड पर संभाल करने के लिए एक बेहतर तरीका हो गया है आप यूआईएममेज के बजाय मतलब * छवि = [जानकारी ऑब्जेक्टफोरकी: UIImagePickerControllerEditedImage]; ?? – Alessandro
हां, खूबसूरती से ठीक काम करता है। यहां तक कि मेरा भी इस तरह ठीक था: UIImage * image = [info ऑब्जेक्टफोरकी: UIImagePickerControllerOriginalImage]; – Alessandro
... लेकिन कोई संपादन विकल्प नहीं है, और मैं संपादित संस्करण रखना चाहता हूं !! – Alessandro