アトトックラボ

2011年1月09日

メインスクリーンをキャプチャする方法

Posted by Yoichi Kurusaki

Macのメインスクリーンをキャプチャーするには下記のようなコードで実現できる。

NSRect screenRect = [[[NSScreen screens] objectAtIndex:0]frame] ;
CGImageRef cgimage = CGWindowListCreateImage(screenRect, 
                         kCGWindowListOptionOnScreenBelowWindow,
                         kCGNullWindowID, 
                         kCGWindowImageDefault);

NSScreenのscreensの0番目にメインスクリーンの情報が入っているので
そこからメインスクリーンの領域を取得する。
取得して領域を指定しCGWindowListCreateImageでデスクトップの画像を取得する。