图片圆角优化
2016-07-08 00:00
239 查看
摘要: 把我知道的三种圆角优化进行比较,和网上其他的有点不一样
当我控制器中有很多imageview需要圆角时用得方法
图为:
用Core Animation 测试了下
第一种
用Core Animation显示有50左右(图片没有保存---)
第二种
这个就是显示的30左右(唯一的留图)
第三种
用Core Animation显示有20左右(没留图---)
得出结论:
第一种最好,第二种次之,第三种较差
(今天和同事提起多图片圆角优化问题,他说第三种优化的最好,第二种最差,我不相信,然后就写了一下用instruments 验证了一下,果然他说的不对😄)
(如有不对请大家多多指教)
当我控制器中有很多imageview需要圆角时用得方法
图为:
用Core Animation 测试了下
第一种
-(void)setimageview:(UIImageView *)imageView { //开始对imageView进行画图 UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 1.0); //使用贝塞尔曲线画出一个圆形图 [[UIBezierPath bezierPathWithRoundedRect:imageView.bounds cornerRadius:imageView.frame.size.width] addClip]; [imageView drawRect:imageView.bounds]; imageView.image = UIGraphicsGetImageFromCurrentImageContext(); //结束画图 UIGraphicsEndImageContext(); }
用Core Animation显示有50左右(图片没有保存---)
第二种
imageview.layer.masksToBounds=YES; imageview.layer.cornerRadius=15;
这个就是显示的30左右(唯一的留图)
第三种
-(void)setimage:(UIImageView *)imageView { UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:imageView.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:imageView.bounds.size]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init]; //设置大小 maskLayer.frame = imageView.bounds; //设置图形样子 maskLayer.path = maskPath.CGPath; imageView.layer.mask = maskLayer; }
用Core Animation显示有20左右(没留图---)
得出结论:
第一种最好,第二种次之,第三种较差
(今天和同事提起多图片圆角优化问题,他说第三种优化的最好,第二种最差,我不相信,然后就写了一下用instruments 验证了一下,果然他说的不对😄)
(如有不对请大家多多指教)
相关文章推荐
- 圆角优化,帧率过低导致滑动卡顿。
- 判断字符串是否为空
- Windows10 下安装Mysql5.7.13解压缩版
- nginx经验
- 让wdk10支持XP
- java后台框架源码 springmvc mybatis
- 搭建ActiveMQ 5.13 Master/Slave (Debian 8)
- VATIC项目ReadMe 翻译
- 百度地图坐标查询,地图坐标拾取
- 【破解】华为HG255d家庭网关
- 如何在前端开发中增加编码效率,这里有十款 Chrome 扩展可以帮你
- spring事务的隔离级别和传播方式
- Android MVP初试
- cocos3.12 mac下android环境配置问题
- ajax实现文件上传
- 4通用Makefile编写
- php二维数组排序 按照指定的key 对数组进行排序
- su和su-的区别
- Windows Container技术的一些疑惑
- Docker启动容器时的port公开方式,破除一些含糊的地方