2012-11-28 36 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