2012-09-03 53 views
5

我捕获在OSX屏幕与什么会导致CGDisplayCreateImageForRect捕获或忽略游标?

capturedImage = CGDisplayCreateImageForRect(displayID, CGRectMake(point.x - 4, point.y - 4, 8, 8)); 

此光标下返回屏幕的一部分。后来我设置的自定义图像光标:

[[[NSCursor alloc] initWithImage:img hotSpot:NSMakePoint(4, 4)] set]; 

后,我设置的光标出现的问题,并尝试再次捕获屏幕。光标包含在framebuffer中。这使得捕获的图像与我作为光标放置的图像相同。我试图隐藏光标,然后捕获屏幕然后再显示它,但它不起作用,它也会使光标闪烁。

更奇怪的是,在特定笔记本电脑上没有捕获光标图像,但在其他运行相同操作系统(Mountain Lion,Snow Leopard)的笔记本电脑上捕获光标图像。

什么会导致光标被包含在帧缓冲区中?有没有办法保证没有自定义光标的屏幕捕获?

谢谢

+0

尝试在拍摄屏幕截图之前将光标切换回默认光标图像。 – mark

回答

0

它取决于谁渲染光标,以及它是纯粹硬件加速还是软件渲染。这在硬件和硬件之间以及在操作系统之间...做一些markk建议的操作:将其设置为默认值

相关问题