我想在UIImage中创建一个透明的洞,这个洞将被放置在精灵的正中央,但为了测试,我会在左上角创建一个洞:
我通过以下方式完成了这个任务:
我不完全理解如何使用UIGraphicsGetCurrentContext类。我不明白什么是上下文?或者为什么我既要添加addRect()又要填充fillRect()?又或者clip是什么?
然而,尽管这些问题很重要,但我的主要问题是我创建的孔不是透明的:它是白色的。我尝试通过以下方式修复它:
let hole = CGRect(x: 0, y: 0, width: 512, height: 512)
let context = UIGraphicsGetCurrentContext()!
context.addRect(hole)
context.clip(using: .evenOdd)
context.setFillColor(UIColor.white.cgColor)
context.fill(hole)
image = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
我不完全理解如何使用UIGraphicsGetCurrentContext类。我不明白什么是上下文?或者为什么我既要添加addRect()又要填充fillRect()?又或者clip是什么?
然而,尽管这些问题很重要,但我的主要问题是我创建的孔不是透明的:它是白色的。我尝试通过以下方式修复它:
context.setFillColor(UIColor.clear.cgColor)
然而,这根本没有创造任何漏洞。你们有什么建议吗?