swift - 使用 UIGraphicsImageRenderer 创建圆形图像
问题描述
我有这个扩展,它创建了一个方形 UIImage。
extension UIColor {
func image(_ size: CGSize = CGSize(width: 1, height: 1)) -> UIImage {
return UIGraphicsImageRenderer(size: size).image { rendererContext in
self.setFill()
rendererContext.fill(CGRect(origin: .zero, size: size))
}
}
}
如何返回带圆圈的 UIImage?
解决方案
查看 CGContext 方法有一个fillEllipse(in:)
. 因此,我们检索并调用它而不是fill()
(使其填充所有图像)。cgContext
rendererContext
fillEllipse(in:)
func circleImage(_ size: CGSize = CGSize(width: 1, height: 1)) -> UIImage {
return UIGraphicsImageRenderer(size: size).image(actions: { rendererContext in
self.setFill()
rendererContext.cgContext.fillEllipse(in: CGRect(origin: .zero, size: size))
})
}
在游乐场:
推荐阅读
- android - 需要哪些 facebook 权限?
- java - AWS EMR 5.20 和 Java 版本支持
- excel - 按名称选择工作表,我将名称作为字符串
- typescript - 为什么打字稿在排除扩展接口时给出类型`never`
- python-3.x - 从上下文菜单中获取文件夹中的选定文件作为 pyinstaller exe 参数
- c# - WPF 无法更改 DatePicker 中的时间
- typescript - 没有作为的打字稿导入
- amazon-athena - AWS Athena 发出警报
- redisearch - RediSearch FT.SEARCH 命令中的 FRAGS 参数有什么作用?
- javascript - 鼠标悬停从图像变为文本的CSS