在我的应用中,我可以拍照并在照片上添加以下信息,这些信息包括:
到目前为止,我通过使用GPS和网络服务获取这些信息进行天气预报(开放天气图)。我这样做了:
当用户按下按钮时,应用程序打开一个新的ViewController,我在其中显示刚拍摄的照片,我添加了2个UILabel(一个用于温度,一个用于位置)和一个UIImageView(用于显示关于天气预报的图标) )。 UILabels和UIImageView我直接在StoryBoard上绘制。 现在我需要将图片与2 UILabel和UIImageView合并,有一种方法可以将它们合并到一个UIImageView中吗? 我可以用天气预报和位置保存图片
更新
我创建了一个按钮来保存带有标签和imageview的图片以及我编写的代码' s:
- (IBAction)buttonSavePicture:(UIButton *)sender {
[self.imageView addSubview:self.labelPlace];
[self.imageView addSubview:self.labelTemperature];
[self.imageView addSubview:self.imageViewWeather];
UIGraphicsBeginImageContext(self.imageView.bounds.size);
[self.imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:self.filename];
[UIImageJPEGRepresentation(finalImage, 1) writeToFile:filePath atomically:YES];
}
但是当我去文件目录时,如果我正确保存了我无法找到的图片。
答案 0 :(得分:1)
是的,您可以通过捕获它们轻松完成。按照步骤。
在storyboard中创建一个小的父视图,将要捕获的所有控件放在一起。创建一个名为captureView
的商店。
根据需要调用以下函数。
-(void)capture{
UIGraphicsBeginImageContext(self.captureView.bounds.size);
[self.captureView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//FINAL OUTPUT
self.imageView.image=capturedImage;
}
干杯。
答案 1 :(得分:1)
如果您使用iOS7,请查看snapshotViewAfterScreenUpdates:和drawViewHierarchyInRect:afterScreenUpdates:这个用于包含或捕获像标签等子视图。这将返回屏幕上所有内容的单个UIView,然后将其保存为UIImage
CGSize imgSize = CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.height);
UIGraphicsBeginImageContextWithOptions(imgSize, NO , 0.0f);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *weatherImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(weatherImage, nil, nil, nil; //save to saved image album
如果一切顺利,你应该有你的"截图"在相册中