Hatena::Groupiphone-dev

とあるiPhone開発者とゲームエンジン このページをアンテナに追加

2008-11-17TIPS: UIViewスクリーンショットをライブラリに保存する方法 このエントリーを含むブックマーク

以下のエントリが役に立った

Topic : (iphone) application screenshot from code?

http://discussions.apple.com/thread.jspa?messageID=8358740

- (IBAction)saveViewToPhotoLibrary:(id)sender {
	
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    UIGraphicsBeginImageContext(screenRect.size);
     
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    [[UIColor blackColor] set];
    CGContextFillRect(ctx, screenRect);
    
    [self.view.layer renderInContext:ctx];
    
    UIImage *screenImage = UIGraphicsGetImageFromCurrentImageContext();
    UIImageWriteToSavedPhotosAlbum(screenImage, nil, nil, nil);
    UIGraphicsEndImageContext();	
}

UIGraphicsBeginImageContext()でキャプチャサイズを指定するのがミソ。

スクリーンショットの保存に成功した後に何か処理を行いたい場合は、UIImageWriteToSavedPhotosAlbum() にセレクタを渡せばOK。

akio0911akio09112008/11/23 12:29勉強になりました!

saika_makotosaika_makoto2008/11/25 18:35>akio0911さん
どうもいたしまして(>w<

たなかたなか2009/01/22 01:36UIViewのイメージをUIImageにしたかったので大変助かりました.
ありがとうございました.

saika_makotosaika_makoto2009/01/24 09:31>たなか さん
御役に立ててなによりですw