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设置图片圆角

    合理的设置图片圆角能更高的提高APP的性能,在模拟器上,可以通过以下操作进行查看图片是否被及时渲染。模拟器打开AP...

  • UIImage 中可能用到的一些category

    1、改变图片颜色 2、获取image中指定区域的颜色 3、设置图片圆角

  • Image

    直接圆角图片 设置圆角图片度数 设置圆角图片带灰色圆角边框 设置圆角图片带灰色圆角边框带阴影

  • Android设置图片某几个角为圆角

    项目里使用的图片加载框架是Universal-Image-Loader,这个框架本身支持设置圆角图片(Rounde...

  • CSS3-边框属性

    CSS3中支持使用border-radius设置边框的圆角. 设置边框图片 border-image 可以设置边框...

  • CSS3边框

    border-radius 设置边框圆角 border-image 用图片作为边框的修饰 box-shadow 边...

  • iOS设置圆角图片

    1.实现方式 简易方式: CoreGraphics剪裁方式 2.性能测试 利用Instruments->Core ...

  • iOS设置图片圆角

    PS:记录自己工作学习中的一些知识; 一、UIImageView iOS9之后:UIImageView使用以下方法...

  • iOS-UIImageView圆角设置

    iOS开发中图片圆角设置是最常见的需求,圆角符合人类视觉安全体验,让人感觉舒适,设置圆角也是非常简单,有五种方式来...

  • Taro(React Native)圆形图片

    使用Image控件,做圆形图片,按照做Android 的思路,只需要设置圆角为图片的宽度的一半(圆形图片的...

网友评论

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

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