Swift代码一栏
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let imageView = UIImageView(frame: CGRect(x: 0, y: 400, width: 200, height: 300));
view.addSubview(imageView);
// view转化成image
imageView.image = imageFromView(view);
print("图片生成完毕");
}
// MARK: 把view转化成image
/// 把view转化成image
private func imageFromView(theView: UIView) -> (UIImage) {
UIGraphicsBeginImageContext(theView.frame.size);
let context = UIGraphicsGetCurrentContext();
theView.layer.renderInContext(context!);
let newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
OC代码一栏
#pragma mark - 把view转化成image
/// 把view转化成image
- (UIImage *)imageFromView:(UIView *)theView {
UIGraphicsBeginImageContext(theView.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[theView.layer renderInContext:context];
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return theImage;
}