todavia con la captura del escritorio

Arnau Sanchez arnau en ehas.org
Mie Dic 13 06:30:35 CET 2006


alejandro moreira escribió:

> Gracias por la ayuda, pero todavia no he dado pie con bola con el asunto de
> capturar el escritorio. miren lo que he hecho hasta el momento y me dicen
> que hice mal.

Perdona si me equivoco, pero me da la impresión que quieres ir demasiado 
rápido con Python :-) Y aunque parezca que el programa que tienes en 
mente es muy simple, no lo es tanto; como pasa en cualquier lenguaje, 
cuando introduces gráficos la cosa se complica sensiblemente... pero 
adelante!

> instale el python 2.5, instale el ImageMagick-6.3.1-1-Q16-windows-static, y
> probe que funcionaba desde el CMD(lo que utilizo es windows, instale el
> PIL-1.1.6.win32-py2.5. pero no puedo hacer que el python 2.5 se integre con
> las funciones del imagen magick, supongo que tiene que ver con la dll del
> Imagen Magick que debo ponerlas en algun lugar o algo asi..pero no se como
> hacer eso...

Lo de instalar todos los paquetes para python 2.5, bien; en lo referente 
a la DLL no te sigo. Imagino que el programa "import" (como las otras 
aplicaciones en línea de comandos de imagemagick) se habrá instalado 
como un ejecutable normal y corriente (.EXE), no una librería DLL. 
Búscalo en el directorio en el que se instaló.

Una vez lo localices, pruébalo directamente y mira que efectivamente se 
guarde la imagen del escritorio. Luego trata de llamarlo desde el script 
python, usando el módulo subprocess, como te propuse (pon la ruta entera 
hasta "import.exe", es de suponer que no estará en el path). Piensa que 
imagemagick no trae ningún módulo especial para Python, lo usas como un 
programa externo, sin más.

http://docs.python.org/dev/lib/module-subprocess.html

> quisiera hacer con esto, es como esas bromas que cuando la ejecutas el
> escritorio se llena de horniguitas que te lo estan comiendo y por donde
> pasan dejan huecos o otra que se chorrea(muy bueno), una de las formas que
> pienso que se puede hacer es coger el escritorio tirarle una foto, hacer un
> gif y ponerlo en pantalla completa...pero entes de caer en los efectos(gif)
> necesito saber como coger lo que esta en el escritorio...de ahi viene todo
> esto...si alguien me pudiera  ayudar se lo agradeceria mucho porque
> estoy completamente estancado en el principio.

Como práctica de programación no está mal. Con lo que nos cuentas, en 
vez de PIL, te diría que probaras con la librería Pygame. Guarda la 
captura en un fichero y luego lo abres desde pygame (en el otro correo 
te proponía el módulo StringIO para evitar la creación de un fichero 
temporal, pero creo que sólo te lié con eso...).

http://www.pygame.org/

En resumen: capturas la imagen con "import" (llamándolo desde 
subprocess) en un fichero, y luego la carga, modificación y 
visualización de la imagen la haces con pygame (también hay versión para 
Windows).




Más información sobre la lista de distribución Python-es