美文网首页iOS 菜鸟之旅
性能优化-图像的绘制CGContextRef

性能优化-图像的绘制CGContextRef

作者: 涛涛灬灬 | 来源:发表于2017-06-21 20:16 被阅读5次

    图像的绘制通常是指用那些以 CG 开头的方法把图像绘制到画布中,然后从画布创建图片并显示这样一个过程。这个最常见的地方就是 [UIView drawRect:] 里面了。由于 CoreGraphic 方法通常都是线程安全的,所以图像的绘制可以很容易的放到后台线程进行。

    + (UIImage *)imageWithColor:(UIColor *)color
    {
        __block UIImage *imageResult;
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
            CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
            
            UIGraphicsBeginImageContext(rect.size);
            CGContextRef context = UIGraphicsGetCurrentContext();
            CGContextSetFillColorWithColor(context, [color CGColor]);
            CGContextFillRect(context, rect);
    //        CGContextRelease(context);
            UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
            UIGraphicsEndImageContext();
            
            dispatch_async(dispatch_get_main_queue(), ^{
                imageResult = theImage;
            });
            
        });
        
        return imageResult;
    }
    

    相关文章

      网友评论

        本文标题:性能优化-图像的绘制CGContextRef

        本文链接:https://www.haomeiwen.com/subject/xtvtcxtx.html