美文网首页
iOS如何实现为UIImageView添加圆角(当前屏幕渲染)

iOS如何实现为UIImageView添加圆角(当前屏幕渲染)

作者: 彬至睢阳 | 来源:发表于2020-11-30 10:51 被阅读0次

当前屏幕渲染绘制相对离屏渲染,GPU直接在当前显示的屏幕缓冲区中进行图形渲染,不需要提前另开缓冲区,也不需要缓冲区的切换,所以性能较高。

-(UIImage*)imageWithCornerRadius:(CGFloat)radius ofSize:(CGSize)size{

//当前UIImage的可见绘制区域
CGRect rect = (CGRect){0.f,0.f,size};
//创建基于位图的上下文
UIGraphicsBeginImageContextWithOptions(size, NO, UIScreen.mainScreen.scale);
//在当前位图上下文添加圆角绘制路径
CGContextAddPath(UIGraphicsGetCurrentContext(), [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:radius].CGPath);
//当前绘制路径和原绘制路径相交得到最终裁剪绘制路径
CGContextClip(UIGraphicsGetCurrentContext());
//绘制
[self drawInRect:rect];

UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
//关闭当前位图上下文
UIGraphicsEndImageContext();
return image;

}

相关文章

  • iOS如何实现为UIImageView添加圆角(当前屏幕渲染)

    当前屏幕渲染绘制相对离屏渲染,GPU直接在当前显示的屏幕缓冲区中进行图形渲染,不需要提前另开缓冲区,也不需要缓冲区...

  • 三、iOS离屏渲染

    iOS离屏渲染 圆角不一定会造成离屏渲染 GPU屏幕渲染方式 On-Screen Rendering 当前屏幕渲染...

  • iOS中的圆角

    UIImageView的圆角: 产生离屏渲染的maskToBounds 添加maskView 生成一张圆角图片 D...

  • iOS 避免离屏渲染

    iOS 控件设置圆角,避免离屏渲染。 离屏渲染:指GPU(图形处理器)在当前屏幕缓冲区外新开辟一个渲染缓冲区进行工...

  • iOS离屏渲染

    iOS 屏幕渲染 iOS 屏幕渲染是双缓存机制, 有一个当前屏幕缓存, 另一个非当前屏幕缓存, 也就是离屏缓存。 ...

  • UIImageView高效添加圆角

    日常添加通过layer的两个属性实现圆角 缺点:这样处理会触发离屏渲染:GPU在当前屏幕缓冲区外新开辟一个渲染缓冲...

  • iOS 圆角阴影优化

    目录 离屏渲染原理 iOS添加圆角的方法比较 圆角和阴影怎么同时存在 autoLayout下怎么使用 1.离屏渲染...

  • iOS给UIImageView添加圆角的三种方法

    前言 在iOS开发中我们经常会遇到给UIImageView添加圆角,如:给用户头像设置圆角等。在这里记录一下使用过...

  • UIImageView添加圆角

    最直接的方法就是使用如下属性设置: 这是离屏渲染(off-screen-rendering),消耗性能的给UIIm...

  • 圆角性能优化

    圆角卡顿刨根问底一行代码,圆角风雨无阻,告别离屏渲染性能损耗iOS 保持界面流畅的技巧iOS 高效添加圆角效果实战讲解

网友评论

      本文标题:iOS如何实现为UIImageView添加圆角(当前屏幕渲染)

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