Saving images to a given location

泄露秘密 提交于 2019-12-04 06:26:06

问题


I want to take screenshots of the iPhone app view and save the images to a given location.

My code below saves the images to the photo library, but I want to save it to some other given location. Is it possible to do so? Please help me up.

My code is here:

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

回答1:


You can use NSData to store the image data.

To save the image:

 NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(myImage)];  
[imageData writeToFile:imagePath atomically:YES];

To retrieve the image:

 UIImage *myImage = [UIImage imageWithContentsOfFile:imagePath];

Update #1: Example (I can't test the example right now but it should work this way):

 UIGraphicsBeginImageContext(self.view.bounds.size);  
self.view.layer renderInContext:UIGraphicsGetCurrentContext()];  
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();   
// Get the location of the Documents directory  
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) ;  
NSString *imagePath = [paths objectAtIndex:0];  
NSString *filename = @"test.png" ;   
NSString *filepath = [NSString stringWithFormat:@"%@/%@", imagePath, filename];  
UIGraphicsEndImageContext();  
// Save the image   
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(myImage)];  
[imageData writeToFile:filepath atomically:YES];


来源:https://stackoverflow.com/questions/4130764/saving-images-to-a-given-location

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!