2010-02-16 107 views
1

我使用OpenGL抓取Mac OSX屏幕的内容 - 这很好,除非它不抓住鼠标光标图形。我需要获取光标图形,作为我的屏幕捕获例程的一部分,或者分开。如何在屏幕抓取中捕获鼠标光标?

我的问题可以是:

  • 我如何能确保鼠标光标图像包含了OpenGL屏幕抓取?

  • 我怎样才能获得当前鼠标光标图像作为一个简单的RGBA位图?

我正在使用C++/Carbon在Mac OSX 10.6下开发。

干杯,

回答

3

您可以使用I/O Kit读取当前光标的像素。部分相关API请参见IOFramebufferShared.hIOGraphicsLib.h

+0

感谢指针 - 虽然看起来非常复杂 - 我不认为你有一些示例代码显示如何做到这一点?我可以找到使用谷歌最好的是这样的: http://orange.kame.net/dev/cvsweb.cgi/xfree86/xc/programs/Xserver/hw/darwin/Attic/xfIOKit.c?rev=1.1 &cvsroot = apps 这不太容易理解...... – Thomi 2010-02-16 15:11:17

+1

这应该让你开始:https://bitbucket.org/boredzo/mouseflashlight/src/tip/NSCursor+PRHCurrentGlobalCursor.h https:// bitbucket。 org/boredzo/mouseflashlight/src/tip/NSCursor + PRHCurrentGlobalCursor.m缺失的部分是它实际上并不复制像素;对于那个应用程序,只是大小和热点就足够了。 – 2010-02-16 16:25:37

+0

嗨,彼得, 你可以提供一些示例代码捕获鼠标光标与屏幕 – 2011-02-19 03:40:53