代码地址如下:
http://www.demodashi.com/demo/11088.html

一、准备工作

  • 例子比较精简,没有什么特殊要求,具备Xocde8.0左右版本的就好

二、程序实现

1、相关代码截图

  • 代码里除了三方库 SDWebImage Kingfisher,一共分别有两个 category 和 extension
  • OC代码截图

  • Swift代码截图

2、具体实现

下面我们来介绍下 OC的代码 实现逻辑
首先我们利用SDWebImage 最近版本添加的成功回调的方法

[self sd_setImageWithURL:url placeholderImage:[placeholder imageRoundCorner] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {}];

这个代码我们可以看到 回调成功会有 image传回来,这时我们通过对这个image 处理,把它处理成圆角的,在显示在imageView上,
设置圆角的方法 这里是采用 贝塞尔曲线(UIBezierPath)实现的
贴上部分代码

// 开始绘图,创建上下文
UIGraphicsBeginImageContextWithOptions(self.size, NO, self.scale);
// 得到上下文CGContextRef context = UIGraphicsGetCurrentContext();
// 得到上下文大小CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);
// 等比例例CGContextScaleCTM(context, 1, -1);
// 移动画布位置CGContextTranslateCTM(context, 0, -rect.size.height);
// 开始利用贝塞尔曲线话圆角图片UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectInset(rect, borderWidth, borderWidth) byRoundingCorners:corners cornerRadii:CGSizeMake(radius, borderWidth)];[path closePath];CGContextSaveGState(context);[path addClip];CGContextDrawImage(context, rect, self.CGImage);CGContextRestoreGState(context);

最后得到图片

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

三、运行效果

tableView 获取网络图片,并且设置为圆角(优化,fps)

代码地址如下:
http://www.demodashi.com/demo/11088.html

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

tableView 获取网络图片,并且设置为圆角(优化,fps)相关推荐

  1. Swift之UIView设置部分圆角与获取其所在ViewController

    设置部分圆角 实现原理: 可指定设置圆角的位置(左上角.左下角.右下角.右上角) func setCorner(size:CGFloat,roundingCorners:UIRectCorner) { ...

  2. Glide获取网络图片宽高,并动态设置图片宽高

    ​ 因Android手机屏幕尺寸较多,当imageview宽设置match_parent,高固定时.会导致图片拉伸或裁剪.目前可通过获取图片宽高,动态设置imageview宽高比例,等比例缩放图片. ...

  3. 不使用cornerRadius设置图片圆角

    tableView的性能优化--不使用cornerRadius设置图片圆角 有人问我为什么tableView滑动不流畅,甚至闪退,其实和cell中的圆角头像使用了cornerRadius有关 优化点 ...

  4. 设置图片圆角 或者圆形

    1.//用画图的方式设置圆角 mImageView.image=[UIImage imageNamed:@"bg1.png"]; mImageView.frame=CGRectMa ...

  5. HTML设置单边圆角,如何在html中做圆角矩形和 只有右边的分隔线

    其实是对(理论上是对所有的)html元素: 而实际 常用的是 div块, 链接a 等运用圆角矩形的样式 这个圆角是通过元素: div, a的 css 样式来实现的: 样式: border-radius ...

  6. android获取网络图片方法,Android获取网络图片并显示的方法

    本文实例为大家分享了Android获取网络图片并显示的具体代码,供大家参考,具体内容如下 使用 HttpURLConnection 获得连接,再使用 InputStream 获得图片的数据流,通过 B ...

  7. Android获取网络图片的三种方法

    在做项目中,获取网络数据是一件很常见的事情,各类数据在服务器端或直接print,或封以实体类扔进List转换为json,由客户端使用HttpClient的execute()方法接收,以完成数据交互的过 ...

  8. Android 如何根据网络地址获取网络图片方法

    <h2><pre name="code" class="html" style="font-weight: bold; font-s ...

  9. UIBezierPath设置图片圆角

    一般我们都会通过Layer设置图片圆角,这种方法在iOS9以前可能会发生离屏渲染, 比较消耗性能,比如当一个页面上有十几头像这样设置了圆角会明显感觉到卡顿.这种就是最常用的,也是最耗性能的. imag ...

最新文章

  1. 【数组方法大合集】原生js数组array常用工具方法大合集
  2. 破解 Windows 2003终端服务许可证
  3. 2008R2 文件服务器迁移新招
  4. 关于程序员就业岗位及岗位市场的思考
  5. 1087 All Roads Lead to Rome (30 分)【难度: 一般 / Dijkstra】
  6. (摘要)新基建风口下,今年工业互联网平台将呈现十大新特征
  7. python学习(1)启程
  8. nginx_lua vs nginx+php 应用场景
  9. pycharm关闭自动更新
  10. 小米笔记本、小米游戏本重装原装出厂镜像教程-有百度盘的提取码
  11. 虚拟主机是干什么用的
  12. 千万级 PV是什么意思?
  13. 用智能ABC关闭程序
  14. 让你彻底明白:HTTPS安全通信机制
  15. RK3128-android7.1-nt68661
  16. 大数据职业规划所感所悟
  17. 计算机xiuli教程,电脑上不去网维修教程
  18. 【边缘设备】nanoPC-T4 挂载NVME硬盘
  19. PDM和建表sql,PDM和EXCEL互转操作。
  20. 【论文复现】中值滤波改进:Different Applied Median Filter(DAMF)

热门文章

  1. vsftpd增加用户 linux,Ubuntu Linux中vsFTP添加用户
  2. python request处理_python requests异常处理
  3. Cortex-M3的存储器系统
  4. (3)散列函数设计:直接定址法
  5. Linux下Exit和_exit函数说明
  6. yolo 负样本_SSD——样本正负比控制+多尺度检测 (目标检测)(one-stage)(深度学习)(ECCV 2016)...
  7. 计算机ip地址无法修改密码,手提电脑怎么修改无线网络的IP地址|无线网络怎么修改密码...
  8. php的toast,jQuery 一句代码轻松实现 Toast 的提示框
  9. python sys os_python常用的一些东西——sys、os等(转)
  10. 死锁 操作系统第二章知识点归纳总结