teclado - Cómo tomar una captura de pantalla en Mac OS X usando Cocoa o C++




donde se guardan las capturas de pantalla en mac (4)

Dos opciones interesantes que he visto, pero que aún no se han usado profesionalmente, son la utilidad de captura de pantalla y una demostración de MacFuse.

La utilidad de captura de pantalla ha estado presente desde 10.2, de acuerdo con la página del manual, y podría vincularse a una aplicación Cocoa mediante el uso de NSTask.

La demostración de MacFuse funcionaba creando una nueva captura de pantalla cada vez que se abría una carpeta, o algo así. La idea es que podrías escribir un guión rápido para acceder a la imagen cuando la necesites, sin tener que ejecutar realmente el guión en esa máquina.

Pero en serio, Apple tiene otro código de muestra llamado "Son of Grab" que usa la nueva API CGWindow, que es bastante impresionante.

http://developer.apple.com/samplecode/SonOfGrab/

¿Cómo tomar una captura de pantalla programmicamente del área del escritorio en Mac OS X?


Qt incluye una aplicación de captura de pantalla de ejemplo en examples \ desktop \ screenshot. Qt funciona en una variedad de plataformas, incluida MacOSX.

http://trolltech.com/products/qt/


Una forma de hacer esto sería usar NSTask en conjunción con el comando de línea de comando 'screencapture'.

Por ejemplo:

NSTask *theProcess;
theProcess = [[NSTask alloc] init];

[theProcess setLaunchPath:@"/usr/sbin/screencapture"];
// use arguments to set save location
[theProcess setArguments:@"blahblah"];
[theProcess launch];

Podrías abrir el archivo donde sea que lo hayas guardado, procesarlo y luego eliminarlo según sea necesario. Obviamente, una solución provisional, pero funcionaría.


Si estás de acuerdo con la compatibilidad con Leopard, hay una nueva API de CGWindow muy potente que te permitirá tomar capturas de pantalla, tomas de ventanas o composiciones de cualquier rango de capas de ventanas.

http://developer.apple.com/samplecode/SonOfGrab/







osx