【Swift4】UIImage(画像)を角度を指定して回転させる方法【Xcode9】
画像(UIImage)を角度を指定して回転させる方法です。
回転した画像はUIImage型で取り出せませます。
func rotatedImage(_ image: UIImage, angle: CGFloat) -> UIImage {
let imgSize = CGSize.init(width: image.size.width, height: image.size.height)
UIGraphicsBeginImageContextWithOptions(imgSize, false, 0.0)
let context: CGContext = UIGraphicsGetCurrentContext()!
context.translateBy(x: image.size.width/2, y: image.size.height/2)
context.scaleBy(x: 1.0, y: -1.0)
let radian: CGFloat = angle * CGFloat.pi / 180.0
context.rotate(by: radian)
context.draw(image.cgImage!, in: CGRect.init(x: -image.size.width/2, y: -image.size.height/2, width: image.size.width, height: image.size.height))
let rotatedImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return rotatedImage
}
取り出せる画像は元画像のサイズの1/2で生成さるような作りになっています。
サイズオーバーした部分は見切れるようになっています。