iOS BUG UIView转UIImage模糊失真

iOS BUG UIView转UIImage模糊失真

##UIView转成Image

复制代码
- (UIImage *)capture {
    UIGraphicsBeginImageContextWithOptions(self.bounds.size, YES, 0.0);
    [self.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return img;
}

运行后发现,转换后的UIImage显示后会变模糊失真

##解决方案

复制代码
- (UIImage *)capture {
    CGSize s = self .bounds.size;
    // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了
    UIGraphicsBeginImageContextWithOptions(s, NO, [UIScreen mainScreen].scale);
    [self.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage*image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

##UIScrollView内容转成UIIMageView方法

复制代码
- (UIImage *)captureScrollView:(UIScrollView *)scrollView
{
    UIImage* image = nil;
    UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, NO, 0.0);
    {
        CGPoint savedContentOffset = scrollView.contentOffset;
        CGRect savedFrame = scrollView.frame;
        scrollView.contentOffset = CGPointZero;
        scrollView.frame = CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height);
        
        [scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];
        image = UIGraphicsGetImageFromCurrentImageContext();
        
        scrollView.contentOffset = savedContentOffset;
        scrollView.frame = savedFrame;
    }
    UIGraphicsEndImageContext();
    
    if (image != nil) {
        return image;
    }
    return nil;
}

学习记录,每天不停进步。

相关推荐
2501_9160088910 小时前
全面介绍Fiddler、Wireshark、HttpWatch、SmartSniff和firebug抓包工具功能与使用
android·ios·小程序·https·uni-app·iphone·webview
Haha_bj13 小时前
Flutter ——flutter_screenutil 屏幕适配
android·ios
Haha_bj14 小时前
Flutter ——device_info_plus详解
android·flutter·ios
山水域18 小时前
SKAdNetwork 6.0 深度实战:多窗口转化值(Conversion Value)建模与数据分层架构
ios
奶茶精Gaaa19 小时前
测试能力提升--Bug分析能力
bug
JavinLu19 小时前
ios 配置了代理且使用 chls.pro/ssl 下载不了证书,无法弹出下载证书的提示问题
网络协议·ios·ssl
G311354227321 小时前
免费苹果 Plist 文件在线制作 iOS IPA 安装工具
ios
2401_832298101 天前
免费p12证书在线检测iOS苹果证书状态一键查询
ios
符哥20081 天前
Swift 开发 iOS App 过程中写自定义控件的归纳总结
ios·cocoa·swift
pop_xiaoli1 天前
effective-Objective-C 第二章阅读笔记
笔记·学习·ios·objective-c·cocoa