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を出力

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

のんでいるくすり: 3.11震災時の体験から開発されたお薬アプリ。無料

今日は薬を便利にかつ守秘的にメモできるアプリのんでいる薬をご紹介します。 実はアプリレビューは初めて。 SwiftサラリーマンのFBページを経由して開発者でもあり薬剤師のBlueRoy(ブルーロワ・インク) Inc. のShige様とお知り合いになる事ができて、是非レビューさせて下さいと私からお願いした経緯で今回レビュー記事に繋がりました。 Shige様、快く了承頂き本当にありがとうございました!

NSThreadでスレッド処理を行う

タイマー処理と同様に利用できるスレッドの処理です。NSTimerではヒゲがのびたサンプルでしたので眉毛の濃くなるサンプルにしてみます。ただ、どうやらThread処理は 推奨されておらず、dispatch_queueを使用するべきのようです。

AppleWatchアプリの申請

AppleWatchアプリの申請が4月1日から始まりましたので、少しトライしてみました。ハマった箇所を共有です。 アプリをArchiveしてValidateしてから2パターンの不具合、あとはアップロードには成功したのですが、Itunesに反映されなかった 現象を共有です
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!