iOS image设置图片圆角

作者: 会武的锄头 | 来源:发表于2017-02-23 19:06 被阅读167次

    合理的设置图片圆角能更高的提高APP的性能,在模拟器上,可以通过以下操作进行查看图片是否被及时渲染。模拟器打开APP之后,选择如下操作,以下性能优化中,有效的检测混合模式 Color Blended Layers拉伸图像 Color Misaligned Images,在开发中能够提成图像的性能

    选择模拟器.png
    Color Blended Layers

    <li>这个选项基于渲染程度对屏幕中的混合区域进行绿到红的高亮(也就是多个半透明图层的叠加))</li>
    <li>由于重绘的原因,混合对GPU性能会有影响,同时也是滑动或者动画帧率下降的罪魁祸首之一</li>

    Color Misaligned Images

    <li>会高亮的那些被缩放或者拉伸以及没有正确对齐到像素边界的图片(也就是非整型坐标))</li>
    <li>这些中的大多数通常会导致图片的不正常缩放,如果一张大图当做缩略图显示,或者不正确的模糊图像</li>

    Color Copied Images

    <li>有时候 寄宿图片(layer.content) 的生成是由服务器CoreAnimation被强制生成一张图片,然后发送到渲染服务器,而不是简单的指向原始指针</li>
    <li>这个选项把这些图片渲染成蓝色</li>
    <li>复制图片对内存和CPU使用来说都是一项非常昂贵的操作,所以应该尽可能的避免</li>

    Color Offscreen-Rendered Yellow

    <li>这里会把那些需要离屏渲染的图层高亮成换色</li>
    <li>这些图层很可能需要用shadowPath或者 shouldRasterize来优化</li>

    PNG 与 JPG图片的区别

    PNG:支持透明
    JPG:不支持透明

    常见的image设置圆角的方式

    [imageView.layer setCornerRadius:50];// 设置圆角半径
    imageView.clipsToBounds = YES;// 超出主层边框就要裁剪掉
    

    这种设置方法是最常见的一种圆角设置,对性能来说并不是最好的,可以选择使用绘图来设置图像。

    使用UIImageView分类设置圆角
    - (void)circleImage
    {
        CGRect rect = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
        /**
         >1. size:绘图尺寸
         >2. 不透明: NO 透明 / YES 不透明
         >3. scale:屏幕分辨率,默认生成的图像使用1.0的分辨率,图像质量不好
         可以指定0,会选择当前设备的屏幕分辨率
         */
        
        //1.开启图片图形上下文:注意设置透明度为非透明
        UIGraphicsBeginImageContextWithOptions(rect.size, YES, 0.0);
        
        //2设置圆角后,填充背景色
        [self.superview.backgroundColor setFill];
        UIRectFill(rect);
        
        //3.绘制圆裁切路线
        UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:rect];
        [path addClip];
        
        //4.绘制内切的圆形边框
        [[UIColor redColor] setStroke];
        [path  stroke];
        
        //5.绘制图片
        [self.image drawInRect:rect];
        
        //6.获取图片
        self.image = UIGraphicsGetImageFromCurrentImageContext();
        
        //7.关闭图形上下文
        UIGraphicsEndImageContext();
    }
    

    相关文章

      网友评论

        本文标题:iOS image设置图片圆角

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