2009-11-06 9 views
7

Mac OSで目的のCを使用してスクリーンをキャプチャする方法はありますか? より具体的には、アクティブ/フォーカスのアプリケーション画面をキャプチャして、指定したパスにイメージを作成するにはどうすればよいですか。
ご協力いただきまして誠にありがとうございます。Mac用の目的のcを使用した画面キャプチャ

答えて

4

CGWindow APIを使用してWindowsの画像を取り込むAppleの“Son of Grab”をチェックしましたか?

+1

に変換するには、次のコードを使用しを与えます、グラブの息子は私のために少し難しいです。私の要件は非常に簡単です、特定の基準を満たして、バックグラウンドで実行するアプリケーションを作成するだけで、現在のフォーカスされたウィンドウをキャプチャし、指定されたパス – Daniel

1

また、あなたが理解し、全体の「グラブの息子」を実装する必要はありませんAppleのOpenGLScreenSnapshot

7

@Daniel、 を確認することができます。あなたは以下のコードが必要です。

次の関数は、あなたのスクリーンショット

// This just invokes the API as you would if you wanted to grab a screen shot. The equivalent using the UI would be to 
// enable all windows, turn off "Fit Image Tightly", and then select all windows in the list. 
CGImageRef screenShot = CGWindowListCreateImage(CGRectInfinite, kCGWindowListOptionOnScreenOnly, kCGNullWindowID, kCGWindowImageDefault); 

私はObjective Cのにかなり新しいよ、ええ、私はそれを見ているNSImageでは

NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:screenShot]; 
// Create an NSImage and add the bitmap rep to it... 
NSImage *image = [[NSImage alloc] init]; 
[image addRepresentation:bitmapRep]; 
[bitmapRep release]; 
bitmapRep = nil; 
関連する問題