在iPhone程式開發中有可能我們會需要将一個View的内容轉換成圖檔。我自己對UIImage進行類擴充,寫了一個方法:
+ (UIImage*)imageFromView:(UIView*)view{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, view.layer.contentsScale);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
注意:生成的圖檔的scale和view的scale一緻,這樣才可以保證圖檔的效果和view顯示的完全一緻,使用renderInContext方法可以讓subviews的内容也顯示的圖檔裡。