2009-07-05 7 views
0

私は、ユーザの画面上の単一のウィンドウを識別し、それをスクリーンキャプチャする必要があります。画面データはメモリに保存され、ディスクには書き込まれません。OS XでCocoaまたはCarbonを使用して単一ウィンドウのscreengrabを取得するにはどうすればよいですか?

これは、コマンドラインツールの/ usr/sbin/screencaptureまたはグラブユーティリティでサポートされています(サブプロセスとして起動するのに十分な機能はありませんが)。

参照/

  • nmのは/ usr/sbinに/ screencaptureこれを行うに見える_CGSGetSharedWindow含む民間ココアインタフェースを返しヒント。
  • Snapzproがウィンドウ全体を選択するにはスペースバーをタップし、スクリーンショットの選択をアクティブにするためにこれを行います(ただし、ソースコードを提供していません)
+1

私はCarbonを使用しないようにアドバイスしています。その方法はかなり廃止されました。 – zpesk

答えて

6

Mac OS X 10.5はこれを行うためにQuartz Window Services APIを導入しました。

+0

これはトリックです。短いGoogleは、プロファイリングを組み込んだサンプルコードを提供しました。 http://developer.apple.com/samplecode/SonOfGrab/index.html –

-4

コマンド+ Shiftキー+ 4サードパーティ製アプリケーション。

0

最初に気がついたのはMacFuseのGrabFSでした。ソースはhereです。

関連する問題