截取view 并放大到指定倍数, 不损失精度
- (UIImage *)imageFromView: (UIView *) theView
{
CGSize size = self.mainView.frame.size;
CGFloat scale = 3.375f;
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
scale = 3.375f;
size = CGSizeApplyAffineTransform(size, CGAffineTransformMakeScale(scale, scale));
}
UIGraphicsBeginImageContext(size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextScaleCTM(context, scale, scale);
[self.view.layer renderInContext:context];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
即可得到指定倍数的分辨率的图片, 不会造成只能获得最高为屏幕分辨率大小的图片拉伸之后的结果