将 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 就是获取当前屏幕的缩放因子。
本文介绍了一种将UIView转换为UIImage的方法,并确保了生成图片的清晰度。通过使用UIGraphicsBeginImageContextWithOptions并设置正确的屏幕缩放因子(screen scale),可以有效地提高图片质量。
3227

被折叠的 条评论
为什么被折叠?



