忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

UIViewのスクリーンキャプチャについて

わか

iOSのUIVewスクリーンキャプチャについて記載します。
画像保存するだけかと思っていましたが、色々使い道があり非常に便利だと気づきました。

まずスクリーンキャプチャするにはいくつか方法があります。
renderInContext
drawViewHierarchyInRect(iOS7〜)
・snapshotViewAfterScreenUodates
(iOS7〜)

細かい使い方は割愛しますが、下に記載したメソッドの順に処理が高速になるようです。
スクリーンキャプチャは画像のレンダリング処理なので、
基本的に遅い処理になります。なので高速なメソッドを使用する方が絶対良いです。
使用してみましたが、renderInContextとdrawViewHierarchyInRectでは
2倍近く処理時間に差がありました。この差は大きいです。

また、スクリーンキャプチャの使い道としては、何らかのユーザに見られたくない
処理中(画像のちらつきや画像の移動、ロード画面など)に直前の画像をキャプチャして
貼付けておく手法があります。そうすることでユーザには見えなくなり見た目が
スマートになります。

object-cではこういったスクリーンキャプチャの貼付けはよくありますが、
自分で使ったことがなかったので、良い勉強になりました。

拍手[0回]

PR