Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - epicteto

#1
Scripting / Duda sobrePython/GTK
28 Enero 2014, 09:01 AM
Hola
Estoy haciendo un pequeño script con Python y la librería GTK que entre otras cosas me da el color de un píxel de la pantalla. Uso esto:

Código (python) [Seleccionar]
def get_pixel_colour(i_x, i_y):
import gtk # python-gtk2
o_gdk_pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1)
o_gdk_pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(), gtk.gdk.colormap_get_system(), i_x, i_y, 0, 0, 1, 1)
return tuple(o_gdk_pixbuf.get_pixels_array().tolist()[0][0])
print get_pixel_colour(46, 3)


Funciona, pero para referenciar el píxel tengo que meter coordenadas de la pantalla completa, y quiero meter coordenadas de una ventana concreta. No lo consigo. Supongo que tengo que modificar la cuarta línea, pero no se como hacerlo y googleando no encuentro nada.
No tengo experiencia en Python, sólo controlo el Bash en Linux y algo de Perl ...
¿Podéis decirme como modificarlo?
Gracias




[MOD]: Debes utilizar las etiquetas de código, porfavor lee las normas.
#2
buenas ..

¿Alguien puede decirme de qué modo puedo saber el color del píxel de una ventana (no de una imagen o una captura de pantalla) referenciado el píxel por coordenadas? (no porque se haya hecho "click" o porque esté el puntero del ratón encima)

En esta web

http://rosettacode.org/wiki/Color_of_a_screen_pixel

hay varios ejemplos  con distintos lenguajes de programación, pero todos los que he conseguido ejecutar son excesivamente lentos, necesitaría conseguir el valor de unos 10 píxeles por segundo. Tampoco conozco un comando en linux que me lo diga.

gracias
#3
Ingeniería Inversa / Sacar textos de pantalla
26 Enero 2014, 22:52 PM
Hola a todos

Soy usuario de Debian desde hace años. Los programas de los que no puedo disponer en Linux los ejecuto a través de Wine (juegos, etc...).

No soy ni mucho menos un programador experto pero cuando me ha hecho falta he hecho algún spript más o menos complicado (con más voluntad que conocimiento) en Perl y Bash.

El asunto es que ahora necesito disponer, a poder ser a la vez que aparecen en la ventana de Wine, de ciertos datos  mientras ejecuto los juegos, concretamente algunos textos, por otra vía que no sea la propia ventana. O "extraerlos" de la misma y disponer de ellos como mucho con un segundo de retraso para hacer otras cosas. No tengo ni idea de cómo hacerlo, ni siquiera sé si esto puede hacerse.

No vale, por ejemplo, hacer una captura de un área de la ventana y posteriomente aplicar un OCR a la imagen resultante para que reconozca los textos. Tiene que ser mucho más rápido, repito, casi a la vez que aparecen en la pantalla del juego.

Pido ayuda por si alguien puede darme alguna idea de por donde podría empezar (si puede hacerse) porque estoy totalmente perdido.

Muchas gracias