美文网首页悦览树
iOS 图片显示优化

iOS 图片显示优化

作者: 南城同學 | 来源:发表于2017-08-05 09:10 被阅读0次

将:

self.imageView.image = [UIImage imageNamed:@"image_01"];

替换为:

- (void)image {

    UIImageView *imageView = [[UIImageView alloc] init];
    imageView.frame = CGRectMake(100, 100, 100, 56);
    [self.view addSubview:imageView];
    self.imageView = imageView;

    dispatch_async(dispatch_get_global_queue(0, 0), ^{
        // 获取CGImage
        CGImageRef cgImage = [UIImage imageNamed:@"image_01"].CGImage;

        // alphaInfo
        CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(cgImage) & kCGBitmapAlphaInfoMask;
        BOOL hasAlpha = NO;
        if (alphaInfo == kCGImageAlphaPremultipliedLast ||
            alphaInfo == kCGImageAlphaPremultipliedFirst ||
            alphaInfo == kCGImageAlphaLast ||
            alphaInfo == kCGImageAlphaFirst) {
            hasAlpha = YES;
        }

        // bitmapInfo
        CGBitmapInfo bitmapInfo = kCGBitmapByteOrder32Host;
        bitmapInfo |= hasAlpha ? kCGImageAlphaPremultipliedFirst : kCGImageAlphaNoneSkipFirst;

        // size
        size_t width = CGImageGetWidth(cgImage);
        size_t height = CGImageGetHeight(cgImage);

        // context
        CGContextRef context = CGBitmapContextCreate(NULL, width, height, 8, 0, CGColorSpaceCreateDeviceRGB(), bitmapInfo);

        // draw
        CGContextDrawImage(context, CGRectMake(0, 0, width, height), cgImage);

        // get CGImage
        cgImage = CGBitmapContextCreateImage(context);

        // into UIImage
        UIImage *newImage = [UIImage imageWithCGImage:cgImage];

        // release
        CGContextRelease(context);
        CGImageRelease(cgImage);

        // back to the main thread
        dispatch_async(dispatch_get_main_queue(), ^{
            self.imageView.image = newImage;
        });
    });
}

相关文章

  • iOS实录17:网络图片的优化显示

    iOS实录17:网络图片的优化显示 iOS实录17:网络图片的优化显示

  • iOS 图片显示优化

    将: 替换为:

  • iOS性能优化-卡顿

    前言:本文旨在介绍iOS性能优化中有关页面卡顿的产生、优化以及监控。 一、屏幕的显示 图片加载到显示的过程:通常计...

  • iOS性能优化——图片加载和处理

    iOS性能优化——图片加载和处理 iOS性能优化——图片加载和处理

  • 【iOS性能优化】- 图片显示原理和优化

    图片在计算机中如何存储和表示? 常见的图片格式 JPEG 是目前最常见的图片格式,它诞生于1992年,是一个很古老...

  • 真题

    1、iOS瘦身:代码瘦身、资源优化。(安装包体积优化,图片资源优化的策略)(怎么删除无用的图片?怎么压缩图片?)2...

  • APP开发实战117-APP图片优化

    30.1APP大小优化 30.1.1图片优化 1 尽量使用Android和iOS系统自带的图片,系统没有的图片,才...

  • FastImageCache学习

    优化点 iOS从磁盘加载一张图片,使用UIImageVIew显示在屏幕上,需要经过以下步骤: 从磁盘拷贝数据到内核...

  • android内存优化

    参考自Android内存优化大全(中)一、Bitmap优化 修改图片的显示大小 不要用ImageView直接显示,...

  • iOS 圆角优化

    iOS 圆角优化 方法3: 覆盖一个圆形镂空图片。详细介绍第三种:在需要显示圆角的图层上覆盖一个镂空的图片,根据颜...

网友评论

    本文标题:iOS 图片显示优化

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