三角形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
}
}
三角形の2つの下点の間の線はどうなりますか? - そこに追加されたようには見えません。 – shoe
@shoe - これは 'closePath'の機能です。 – Rob
@Robしかし、私がそれを開始したところまで線を描くと、三角形は閉じられません。欠落しているように見えるのは、三角形の「基底」です。ここで私はそのコードをどのように解釈したのか - 私が間違っているかどうかを教えてください - パスが始まり、三角形の頂点に移動し、そこから三角形の右端まで線を追加します。それでも三角形の頂点に、上から左の点まで別の線を追加してから、パスを閉じます。 'closePath()'は自動的に三角形の2つの底点の間に線を追加しているようです。何が起こっているのですか? – shoe