2012-09-03 51 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建議的操作:將其設置爲默認值

相關問題