将 view 生成 图片后,保持图片的清晰度,得修改一个参数,必须为屏幕的缩放倍率,如下
+ (UIImage *)createImageFromView:(UIView *)view {
UIGraphicsBeginImageContextWithOptions(CGSizeMake(view.frame.size.width,
view.frame.size.height),NO,[UIScreen mainScreen].scale);
CGContextRef context = UIGraphicsGetCurrentContext();
//将view上的子view加进来
[view.layer renderInContext:context];
//开始生成图片
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext(); // 使当前上下文出堆栈
return image;
}
其中[UIScreen mainScreen].scale 就是获取当前屏幕的缩放因子。