【Swift】スクリーンショットを撮影する方法!UIImageに変換

この記事からわかること

  • Swift画面スクリーンショット撮影する方法
  • UIGraphicsImageRendererクラス使い方

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

Swiftでスクリーンショットを撮影する方法

Swiftで画面のスクリーンショットを撮影するにはUIGraphicsImageRendererクラスを使用します。撮影したい範囲を渡すだけで簡単にUIImage型に変換することが可能です。

func takeScreenshot() -> UIImage? {
      
    guard let window = UIApplication.shared.connectedScenes.first as? UIWindowScene else {
        return nil
    }
    // スクリーンショットで撮影したいサイズを取得
    let screenSize = window.screen.bounds.size
    
    // UIGraphicsImageRendererを使用して画面を描画
    let renderer = UIGraphicsImageRenderer(size: screenSize)
    let screenshot = renderer.image { context in
        window.windows.first { $0.isKeyWindow }?.layer.render(in: context.cgContext)
    }
    
    return screenshot
}

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index