Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > スクリーンキャプチャ取得

スクリーンキャプチャ取得

端末に表示されているスクリーンキャプチャを取得します。
参考:How to take Full screen Screenshot in swift?

サンプル構文


//キャプチャ取得.変数screenshotにUIImageが保存されます
let layer = UIApplication.sharedApplication().keyWindow.layer
let scale = UIScreen.mainScreen().scale
UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale);
    
layer.renderInContext(UIGraphicsGetCurrentContext())
let screenshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();
    
//キャプチャ画像をフォトアルバムへ保存
UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil);

ScreenCaptureUtil例文

ScreenCaptureUtil.swiftをダウンロードする。(ご自由にご利用ください)

import UIKit

struct ScreenCaptureUtil {
    static func take()->UIImage{
        
        let layer = UIApplication.sharedApplication().keyWindow.layer
        let scale = UIScreen.mainScreen().scale
        UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale);
        
        layer.renderInContext(UIGraphicsGetCurrentContext())
        let screenshot = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext();
        
        return screenshot;
        
    }
}

//利用方法
let screenshot = ScreenCaptureUtil.take();
UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil);

追記(2014/12/18) XCode6.1にバージョンアップするとエラーが、、、

UIWindowやLayerをアンラップしないとダメでした。仕様がどんどん調整されてるようです、流石Apple。。。。


        let layer = UIApplication.sharedApplication().keyWindow?.layer;
        
        let scale = UIScreen.mainScreen().scale;
        UIGraphicsBeginImageContextWithOptions(layer!.frame.size, false, scale);
        
        layer!.renderInContext(UIGraphicsGetCurrentContext())
        let screenshot = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext();
        
        UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil);
       

UIViewの画像を抜き出す場合

次のページに記載しておりますので、よろしければご参照ください!UIViewからUIImageを出力

↓こんな記事もありますよ!

Webブラウザをチラ見するWebabit

WebabitはWebブラウザをチラ見する為のアプリです。Notification CenterのToday Widegetでブラウザチェックしたり、 AppleWatchから確認したりできる、なんともいえない「ふーん」なアプリです

UIImage

中年サラリーマンが画像をローカルやURLやあんな所からアクセスして表示するサンプルを説明しております。

WWDC2015で面白い発表があるのかワクワクしてみる。

OS9の発表だったり、 iPadでアプリを分割して複数表示できたり、Apple Payがカナダに対応したり(それはどうでもいいですかね、、、)、 盛りだくさん。Appleファンには たまらない色んな新情報が色々でてきていますのでその中で私がきになる情報をフォーカスして少し調査してみます。 Swift関連もあるようですので共有してまいります。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!