如何創建三角形UIImage?以下是我現在正在做的事情,但它根本沒有生成任何圖像。如何創建三角形UIImage
extension UIImage {
static func triangle(side: CGFloat, color: UIColor)->UIImage {
UIGraphicsBeginImageContextWithOptions(CGSize(width: side, height: side), false, 0)
let ctx = UIGraphicsGetCurrentContext()!
ctx.saveGState()
ctx.beginPath()
ctx.move(to: CGPoint(x: side/2, y: 0))
ctx.move(to: CGPoint(x: side, y: side))
ctx.move(to: CGPoint(x: 0, y: side))
ctx.move(to: CGPoint(x: side/2, y: 0))
ctx.closePath()
ctx.setFillColor(color.cgColor)
ctx.restoreGState()
let img = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return img
}
}
但是,三角形的兩個底點之間的界限呢? - 看起來並不像它那裏添加的那樣 – shoe
@shoe - 這就是'closePath'所做的,完成回到你開始它的路徑。 – Rob
@Rob,但畫了一條線回到我開始的地方,它不會關閉三角形。似乎缺少的是三角形的「基礎」。這裏是我如何解釋代碼 - 讓我知道如果我錯了 - 路徑開始,我們移動到三角形的頂部,從那裏添加一條線到三角形的正確點。然後,仍然在三角形的頂部,我們從頂部到左側添加另一條線,然後關閉路徑。它看起來像'closePath()'自動在三角形的兩個底點之間添加一條線。這是怎麼回事? – shoe