我正在用 osx 捕获屏幕
capturedImage = CGDisplayCreateImageForRect(displayID, CGRectMake(point.x - 4, point.y - 4, 8, 8));
这将返回光标下的屏幕部分。稍后我将设置一个自定义图像光标:
[[[NSCursor alloc] initWithImage:img hotSpot:NSMakePoint(4, 4)] set];
在我设置光标并尝试再次捕获屏幕后出现问题。光标包含在帧缓冲区中。这使得捕获的图像与我作为光标放置的图像相同。我试图隐藏光标,然后捕获屏幕,然后将其显示回来,但它不起作用,它也会使光标闪烁。
更奇怪的是,在特定的笔记本电脑上不会捕获光标图像,但在运行相同操作系统(Mountain Lion、Snow Leopard)的其他笔记本电脑上会捕获光标图像。
什么会导致光标包含在帧缓冲区中?有没有办法保证没有自定义光标的屏幕截图?
谢谢