我完成了相机功能并尝试在拍摄图像后进行照片编辑。但问题是当我运行照片编辑时,过程非常缓慢,因为相册上还没有图片。所以我尝试在捕获图像后将图像保存到相册。但是现在我怎样才能从相册中指回相同的图像而不让用户在相册上做任何选择?捕获并保存图像后,我如何使用编码自动回调图像直接进行编辑?我使用UIImageWriteToSavedPhotosAlbum来保存图像。
答案 0 :(得分:0)
为什么不将它保存在应用程序的文档文件夹中,而不是在编辑相册中保存捕获的图像。要编辑照片,请从文档文件夹中取出照片,然后将编辑过的照片保存到相册中。如果您想从相册中获取该照片,则必须显示图像选择器控制器。所以我建议将其保存在Document文件夹中。从Document文件夹获取照片也更快。
- (IBAction)saveImage
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
UIImage *image = imageView.image; // imageView is my image from camera
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:savedImagePath atomically:NO];
}
- (IBAction)getImage {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
UIImage *img = [UIImage imageWithContentsOfFile:getImagePath];
}
删除图像
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager removeItemAtPath:cImagePath error:nil];
cImagePath将是图像的路径