如何制作具有图像视图的几个uiviews的图像,包括比例尺和所有内容,我已经找到了一些代码将一个图像放到另一个图像中:
- (UIImage *)addImage:(UIImage *)imageView toImage:(UIImage *)Birdie {
UIGraphicsBeginImageContext(imageView.size);
// Draw image1
[imageView drawInRect:CGRectMake(0, 0, imageView.size.width, imageView.size.height)];
// Draw image2
[Birdie drawInRect:CGRectMake(0, 0, Birdie.size.width, Birdie.size.height)];
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resultingImage;
}
此代码在点0,0处生成一个带有两个图像的图像,我需要将几个图像与实际缩放合并为一个图像,我有一个背景图像和几个可以放大和缩小的对象我想制作最终图像,包括所有对象在他们的位置和缩放,比如photoshop,你有几个对象,你可以将它们合并为一个。
答案 0 :(得分:1)
您可以按照以下方式执行此操作:
只需获取所有子视图已合成的顶级视图,然后:
+ (UIImage *) imageWithView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
if ([view respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)])
{
//This only works on iOS7
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
}
else
{
//For iOS before version 7, use the following instead
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
}
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}