iOS 截图并放大, 不损失精度

截取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;
}

即可得到指定倍数的分辨率的图片, 不会造成只能获得最高为屏幕分辨率大小的图片拉伸之后的结果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,277评论 25 709
  • 本文参考自: Google的官方权威适配文档 郭霖:Android官方提供的支持不同屏幕大小的全部方法 Storm...
    M悇芐冋忆阅读 14,450评论 5 56
  • 又到了夜深人静的时候,也是一天之中最清醒的时刻,对于我来说深夜似乎有着魔力般的魅力存在,吸引着我去拨开大脑深层的思...
    晓灿阅读 1,937评论 0 1
  • 有人觉得弗洛伊德将童年对一个人的影响和重要性讲得太夸张了,我却觉得童年确实是会影响甚至决定一个人的一生! 婚后三年...
    下垂眼阅读 1,592评论 0 1
  • 昨天看嫂子的朋友圈,说最近胖了很多要减肥,晚饭不吃了,只吃一个香蕉,一瓶#活的乳酸菌# 呵呵哒,我说你这样吃超长肉...
    营养师小栗子阅读 5,090评论 6 10