将照片保存到自定义库

Posted

技术标签:

【中文标题】将照片保存到自定义库【英文标题】:Saving photos to custom library 【发布时间】:2013-07-18 08:25:26 【问题描述】:

我的问题真的很烦人。我正在创建拍摄照片并需要将它们保存到自定义画廊的应用程序。我已经找到了一些教程如何使用 AlAssetsLibrary 做到这一点,但有一个大问题......没有saveImage:toAlbum:withCompletionBlock: 方法。我使用addAssetsGroupAlbumWithName:resultBlock:failureBlock: 创建自定义相册,但我无法将图像保存到此图库!我正在使用 ios 6 iPhone 4。

有什么想法吗!?

【问题讨论】:

你检查过this 吗? 是的,我之前看到过这个,但是看看我在@Vignesh 下的评论回答:) 【参考方案1】:

您在问题saveImage:toAlbum:withCompletionBlock 中提到的方法不是ALAssetsLibrary 的一部分。这个方法写在ALAssetLibary's category。您必须在您的类中导入类别才能使用该方法。

要了解有关目标 C 类别的更多信息,请查看开发者reference。

【讨论】:

谢谢!我没有意识到这是一个类别......我在网上搜索并撕掉我的头发,最后:D 我还有一个问题。是否可以修改此类别不将此照片保存到相机胶卷?仅限自定义相册。 @Cojoj。不客气。这是不可能的。所有图像都将存储在相机胶卷中。你无法阻止它。【参考方案2】:

看这里:

http://www.touch-code-magazine.com/ios5-saving-photos-in-custom-photo-album-category-for-download/

这里有一个 *** 线程:Save Photos to Custom Album in iPhones Photo Library

【讨论】:

【参考方案3】:

如果您使用 AssetsLibrary,您可以编写此代码

- (void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex

    UIImagePickerController *imagePicker;

    if (buttonIndex < 2)    
               
        self.library = [[[ALAssetsLibrary alloc] init] autorelease];
        
        self.imageEditor = [[[DemoImageEditor alloc] initWithNibName:@"DemoImageEditor" bundle:nil] autorelease];
        
        self.imageEditor.doneCallback = ^(UIImage *editedImage, BOOL canceled)

            if(!canceled)
            
                anotherImage = true;
                
                NSString *imageName;
               
                imageName =@"Abc.jpg";
                
                UIImageWriteToSavedPhotosAlbum(editedImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);      

                editedImage = [self scaleImage:editedImage toSize:CGSizeMake(600,600)];

                 [[NSUserDefaults standardUserDefaults] setObject:UIImagePNGRepresentation(editedImage)forKey:@"image"];



- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo

    UIAlertView *alert;
    
        if (error)

        alert = [[UIAlertView alloc] initWithTitle:@"Error" 
                                           message:@"Unable to save image to Photo Album." 
                                          delegate:self cancelButtonTitle:@"Ok" 
                                 otherButtonTitles:nil];

    else 

        alert = [[UIAlertView alloc] initWithTitle:@"Success" 
                                           message:@"Image saved to Photo Album." 
                                          delegate:self cancelButtonTitle:@"Ok" 
                                 otherButtonTitles:nil];

    [alert release];

它会解决你的问题。

【讨论】:

以上是关于将照片保存到自定义库的主要内容,如果未能解决你的问题,请参考以下文章

Swift:将照片添加到自定义相册

如何将视频文件保存到自定义资源库?

三方开源库自定义

将捕获的图像从相机保存到自定义文件夹

将视频添加到自定义照片集合返回错误

使用 PHPhotoLibrary 将照片添加到自定义文件夹还会将照片添加到相机胶卷