gpt4 book ai didi

iphone - 从相机和相机胶卷加载和保存图像时出现问题。我究竟做错了什么?

转载 作者:行者123 更新时间:2023-12-03 18:40:14 24 4
gpt4 key购买 nike

我正在构建一个应用程序,您可以在其中制作图片或从相机胶卷中选择图像,并将它们保存在应用程序中以显示在表格 View 和详细 View 中。问题是,当我从应用程序内部制作图片并保存它时,表格 View 和详细 View 变得非常慢,就像应用程序卡住一样。我也收到此错误“:CGAffineTransformInvert:奇异矩阵。”。当我从相机胶卷加载一张不是从我的应用程序内部拍摄的图片时,没有问题,并且应用程序运行得非常顺利。

这是我打开相机和相机胶卷时的代码:

-(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{
if (buttonIndex == actionSheet.cancelButtonIndex) {
return;
}

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;

switch (buttonIndex) {
case 0:
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
}
break;
case 1:
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) {
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}
break;
}

[self presentModalViewController:picker animated:YES];
}

这是我将其保存到相机胶卷并将图像放入 imageView 中的位置:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
UIImage *mijnImage;
if (CFStringCompare((__bridge_retained CFStringRef)mediaType, kUTTypeImage, 0)==kCFCompareEqualTo) {
mijnImage = (UIImage *) [info objectForKey:UIImagePickerControllerOriginalImage];
mijnPlaatje_.image = mijnImage;
UIImageWriteToSavedPhotosAlbum(mijnImage, nil, nil, nil);

}

[picker dismissModalViewControllerAnimated:YES];

}

在这里,我将图像保存在我的应用程序中:

-(IBAction)save:(id)sender{
drankjes.plaatje = [mijnPlaatje_ image];
[self dismissModalViewControllerAnimated:YES];

}

我做错了什么?

最佳答案

您需要使用:

UIImageWriteToSavedPhotosAlbum(image, self, @selector(video:didFinishSavingWithError:contextInfo), nil)

并实现:

- (void)image:(UIImage *) image didFinishSavingWithError: (NSError *) error contextInfo: (void *) contextInfo {
NSLog(@"Saving image");
if(error != nil) {
NSLog(@"Error saving: %@",[error localizedDescription]);
}
}

正如 Jensen2K 所说,即使没有错误,didFinishSavingWithError 也会被调用,因此您可以使用它来告知保存何时完成。

关于iphone - 从相机和相机胶卷加载和保存图像时出现问题。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com