【Swift5】UIViewに描画されているものをUIImageにする。

UIViewに描画されているものをUIImageに変換する方法です。エクステンションで実装しています。返り値は透明色を含んだPNG形式で、UIViewの実サイズのものが生成されます。

extension UIView {
   func snapshot() -> UIImage {
       UIGraphicsBeginImageContextWithOptions(bounds.size, false, 0.0)
       let context = UIGraphicsGetCurrentContext()!
       context.setShouldAntialias(false)
       layer.render(in: context)
       let image = UIGraphicsGetImageFromCurrentImageContext()!
       UIGraphicsEndImageContext()
       let png = image.pngData()!
       let pngImage = UIImage.init(data: png)!
       return pngImage
   }
}



この記事が気に入ったらサポートをしてみませんか?