在做ar的时候突然有取图的需求,小记
- 先指定图像的大小
UIGraphicsBeginImageContext(view.frame.size);
- 在指定的区域绘制图像
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:NO];
- 获取图像上下文
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
- 关闭图像上下文
UIGraphicsEndImageContext();
只需要4行代码即可以获取到指定View的图像截图。
另外,常用的绘制图像还有另一个方法:
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
下面补充一个方法例子:
+ (UIImage *)getImageViewWithView:(UIView *)view{
UIGraphicsBeginImageContext(view.frame.size);
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:NO];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;}