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

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

相关推荐
Digitally30 分钟前
如何将真我(realme)手机数据传输至 iPhone
ios·智能手机·iphone
JFSJHFZJ5 小时前
解密iPhone核心技术,读懂苹果的硬实力
ios·cocoa·iphone
IT 行者6 小时前
Spring Boot 4.0.5 正式发布:Bug 修复与依赖升级
spring boot·后端·bug
JXSJHF7 小时前
iPhone隐藏功能大盘点,免费好用不占内存
ios·iphone
pip install USART20 小时前
解决@Autowired注解失败导致空指针bug
java·spring·bug
ZZH_AI项目交付21 小时前
为什么很多复杂跳转,最后都得先回首页?
flutter·ios
Bear on Toilet1 天前
接入OpenAI无法发送请求,响应为空?Bug: C++ 接入 OpenAI 中转 API
后端·ai·bug
vx-bot5556661 天前
企业微信ipad协议在客户画像构建中的应用实践
ios·企业微信·ipad
2501_916008891 天前
2026 iOS 证书管理,告别钥匙串依赖,构建可复制的签名环境
android·ios·小程序·https·uni-app·iphone·webview
弹简特1 天前
【测试基础-Bug篇】10-Bug禅道工具使用及测试计划文档编写
bug