2012-11-28 37 views
0

我想将图像保存在特定文件夹的图库中。 当我点击保存我使用这段代码保存图像将特定专辑中的图像保存为IPHONE

- (IBAction)saveImageToGallery:(id)sender { 
NSLog(@"SaveImageToGallery"); 
/* 
----------------------------------------------------------------------- 
THis will hide button and take screen shot then will show buttons again 
----------------------------------------------------------------------- 
*/ 

[AddImagesToCanvasView setHidden:YES]; 
[ShareOnCanvas setHidden:YES]; 
[CanvasButtonForRatio setHidden:YES]; 

for(UIButton *b in self.view.subviews) { 
    if([b isKindOfClass:[UIButton class]]) { 
     b.hidden = YES; 
    } 
} 

UIGraphicsBeginImageContext(self.view.frame.size); 
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

for(UIButton *b in self.view.subviews) { 
    if([b isKindOfClass:[UIButton class]]) { 
     b.hidden = NO; 
    } 
} 
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); 

}

我想,当我点击保存比它打开照片,这样我就可以创建新相册或点击现有相册,并保存该专辑中的图像。 我将如何做到这一点。 这可能吗?

回答

6

可以使用foolowing代码将图像保存到特定的专辑此娄代码。

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
[library saveImage:image toAlbum:@"Midhun" withCompletionBlock:^(NSError *error) { 
     if (error!=nil) 
     { 
      NSLog(@"Noooo error: %@", [error description]); 
     } 
    }]; 

这形象就是你UIImage

确保包括AssetsLibrary框架和#import <AssetsLibrary/AssetsLibrary.h>

请参考此tutorial

+1

不适合我。它给我错误。 – Zohaib

+0

@Zohaib:什么是错误? –

+0

该应用程序崩溃..我不知道y。并且它给我发出withCompletionBlock警告ID未找到 – Zohaib

0

使用这条线路径

[UIImagePNGRepresentation(image) writeToFile:path atomically:YES]; 

的使用,如果文件类型为JPEG

[UIImageJPEGRepresentation(image) writeToFile:path atomically:YES]; 
+1

什么将在路径中。我的意思是这条路怎么样? – Zohaib

+0

像这样NSString * path = [NSHomeDirectory(); stringByAppendingPathComponent:@“Documents/Test.png”]; –

+0

至少读过一次兄弟的问题。 Asker要求提供原生照片库相册。在那种情况下,你的路径是什么? – Mrug