¿Cómo tomar una captura de pantalla programmicamente del área del escritorio en Mac OS X?Cómo tomar una captura de pantalla en Mac OS X usando Cocoa o C++
Respuesta
Qt incluye una aplicación de captura de pantalla de ejemplo en examples \ desktop \ screenshot. Qt funciona en una variedad de plataformas, incluida MacOSX.
Si se tiene en cuenta REALbasic, esto es muy fácil de hacer con RB y los plugins MBS. Acabo de escribir una aplicación que hace capturas de pantalla programadas usando RB y los complementos de MBS. Puede leer al respecto aquí: http://tektalkin.blogspot.com/2008/08/screenaudit-for-mac-osx.html
Dos opciones interesantes que he visto, pero que aún no se han usado profesionalmente, son la utilidad screencapture y una demostración de MacFuse.
La utilidad de captura de pantalla ha estado presente desde la versión 10.2, de acuerdo con la página de 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 ejemplo llamado "Son of Grab" que usa la nueva API CGWindow, que es bastante impresionante.
El siguiente podría ser útil si usted está tratando de lograr esto con C++ o Python. Además, esto sería aún más útil en caso de que desee que su método programático sea portátil multiplataforma. (Windows, Linux, Mac osx e incluso más)
Una respuesta anterior menciona QT.
De la misma manera que QT le permitirá capturar y guardar una captura de pantalla, también lo hará otro marco "competidor", a saber, wxWidgets. wxWidgets es un framework de C++, pero también proporciona enlaces de python a través de wxPython.
Para leer más, utilice el siguiente enlace, buscar el libro para wxScreenDC y seleccione "Página 139" de la lista de páginas que coinciden con la búsqueda:
http://books.google.com/books?id=CyMsvtgnq0QC&vq="accessing+the+screen+with+wxScreendc"
Una forma de hacer las 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];
El que podría abrir el archivo donde usted le dijo que se salven, procesarla, y luego borrar según sea necesario. Obviamente, una solución provisional, pero funcionaría.
Si está de acuerdo con la compatibilidad con Leopard, hay una nueva API de CGWindow muy potente que le permitirá tomar capturas de pantalla, instantáneas de ventana o compuestos de cualquier rango de capas de ventanas.
Excelente, ¡gracias por señalar esto! –
- 1. Cómo tomar una captura de pantalla con FireMonkey (multiplataformas)
- 2. Arquitectura de la aplicación Cocoa en Mac OS X
- 3. Mac OS X arquitectura de aplicación de ventana única Cocoa
- 4. Mostrar os x ventana de pantalla completa en el monitor secundario usando Cocoa
- 5. ¿Cómo tomar la captura de pantalla programáticamente?
- 6. Cómo tomar una captura de pantalla en OpenGL
- 7. Symbian C++ Desarrollo bajo Mac OS X
- 8. Captura polimórfica de una excepción en una biblioteca compartida -fno-rtti en Mac OS X
- 9. ¿Cómo tomar una captura de pantalla de una página web?
- 10. cómo tomar una captura de pantalla del iPhone programáticamente?
- 11. C#: cómo tomar una captura de pantalla de una parte de la pantalla
- 12. ¿Cómo tomar una captura de pantalla con unidad HTML?
- 13. Mac OS X daemon usando Objective-C - launchd
- 14. ¿Convertir una aplicación de línea de comandos en una aplicación Cocoa GUI en Mac OS X?
- 15. Pantalla de bloqueo por api en mac os X
- 16. JNotify en Mac OS X?
- 17. captura de pantalla con el objetivo c para mac
- 18. Cómo simular una "pulsación de tecla" de Unicode Char en Mac Os X usando Objective-C?
- 19. usando PEAR con MAC OS X
- 20. Objective-C de serie - Mac OS X
- 21. ¿Cómo incrusto datos en una sección TEXT del archivo binario mac-o de Mac OS X?
- 22. Sin iPhone, ¿cómo tomar una captura de pantalla con XCode?
- 23. ¿Podemos ejecutar una aplicación C#/WPF en Mac OS X?
- 24. Mac os x Comando de pantalla y buffer de Terminal.app
- 25. Comprueba si hay una aplicación Mac OS X
- 26. wxPython 2.9 en Mac Os X
- 27. Tomar una captura de pantalla parcial en el iPad
- 28. Tomar una captura de pantalla con Pyglet [Fix'd]
- 29. Tomar una captura de pantalla de área específica
- 30. GKSession con Mac OS X
¡Gracias!Aquí está el código: wxBitmap GetScreenShot() { wxSize screenSize = wxGetDisplaySize(); wxBitmap bitmap (screenSize.x, screenSize.y); wxScreenDC dc; wxMemoryDC memDC; memDC.SelectObject (mapa de bits); memDC.Blit (0, 0, screenSize.x, screenSize.y, & dc, 0, 0); memDC.SelectObject (wxNullBitmap); bitmap de retorno; } –