【Swift4】UIViewからUIImageを取得する方法
UIViewの上に表示されている全てのUIViewやUILabel、UIButtonやUIImageVuewをすべてまとめてUIImageとして取得する方法についてご紹介します。
この方法はUIViewクラスを継承している
・UILabel
・UIButton
・UIImageView
などのクラスで使用することができます。
UIViewからUIImageを取得する方法
// UIViewからUIImageに変更する
func viewToImage(_ view : UIView) -> UIImage {
// キャプチャする範囲を取得する
let rect = view.bounds
// 画像のcontextを作成する
UIGraphicsBeginImageContextWithOptions(rect.size, false, 1.0)
// contextを取得する
let context : CGContext = UIGraphicsGetCurrentContext()!
// view内の描画をcontextに複写する
view.layer.render(in: context)
// contextをUIImageとして取得する
let image : UIImage = UIGraphicsGetImageFromCurrentImageContext()!
// contextを閉じる
UIGraphicsEndImageContext()
return image
}