2012-09-03 27 views
5

estoy capturar la pantalla en OSX con¿Qué puede hacer que CGDisplayCreateImageForRect capture o ignore el cursor?

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

Esto devuelve la parte de la pantalla bajo el cursor. Más adelante Soy la creación de un cursor personalizado con la imagen:

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

El problema se produce después de configurar el cursor y tratar de capturar la pantalla de nuevo. El cursor está incluido en el framebuffer. Esto hace que la imagen capturada sea la misma que la que coloqué como cursor. Intenté ocultar el cursor, luego capturar la pantalla y luego volver a mostrarla, pero no funciona y también hace parpadear el cursor.

Resulta aún más extraño que en una computadora portátil en particular no se capture la imagen del cursor, pero en otras computadoras portátiles que ejecutan el mismo sistema operativo (Mountain Lion, Snow Leopard) se captura la imagen del cursor.

¿Qué puede hacer que el cursor se incluya en el búfer de cuadros? ¿Hay alguna manera de garantizar una captura de pantalla sin el cursor personalizado?

Gracias

+0

Intente volver a colocar el cursor en la imagen predeterminada del cursor antes de tomar la captura de pantalla. – mark

Respuesta

0

depende que hace que el cursor y si es puramente acelerado por hardware o software prestados. que difiere del hardware al hardware y también entre el sistema operativo ... hacer lo que marcó sugerido: configurarlo con el valor predeterminado

Cuestiones relacionadas