Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-07-2005
opardor opardor is offline
Miembro
 
Registrado: jul 2005
Posts: 16
Poder: 0
opardor Va por buen camino
Question Capturar una sección de una imagen

Hola a todos!!

Gracias a las respuestas de muchos de ustedes he logrado mostrar el escritorio en un TImage. Y ahora me pregunto si existe alguna forma de saber en que sección del escritorio ha ocurrido alguna modificación (por ejemplo al abrir una ventana), y así modificar solo una parte del TImage...

Muchas Gracias
Responder Con Cita
  #2  
Antiguo 28-07-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que no está muy clara tu consulta, al menos para mí, puédes explicarla un poquito más?, gracias.
Responder Con Cita
  #3  
Antiguo 28-07-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Si es lo que intuyo y tú muestras en un "TImage" el "escritorio" de Windows y lo que pretendes es que la imagen se actualize conforme el estado del escritorio, digo, me parece que costaría menos y sería más sencillo volver a obtener la imagen completa del escritorio y mostrarla/actualizarla en el "TImage" cada X tiempo, digamos unos segundos, valiéndote de un "TTimer", por ejemplo.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 28-07-2005 a las 12:10:33. Razón: (corrección)
Responder Con Cita
  #4  
Antiguo 28-07-2005
opardor opardor is offline
Miembro
 
Registrado: jul 2005
Posts: 16
Poder: 0
opardor Va por buen camino
Question

Gracias por dedicar su tiempo a contestar...

En primer lugar. La respuesta de dec aclara mi consulta. Trataré de ser más específico. Gracias.

En segundo lugar.
Estoy de acuerdo en que es más fácil obtener la imágen completa del "escritorio" de windows. Sin embargo, dado que está imágen cambia constantemente (por lo menos cada que se mueve el puntero) y pretendo enviarla por internet, me pareció buena idea obtener sólo el área en donde ha cambiado y así enviar una "pequeña imagen" (en algunos casos) y las coordenadas iniciales en donde debe ser reemplazada.

Por último. Una manera de hacer esto sería tener dos matrices (anterior y actual) en memoria que representen la imagen completa del "escritorio" y compararlas para ver en donde son diferentes y con esto formar la imagen pequeña pero me parece que sería "costoso" para el procesador...

Gracias.
Responder Con Cita
  #5  
Antiguo 28-07-2005
kalisto kalisto is offline
Miembro
 
Registrado: jul 2004
Posts: 62
Poder: 20
kalisto Va por buen camino
Lo de comparar las dos imagenes lo puedes hacer con la propiedad scanline de tbitmap.
Luego seria interesante comprimir la imagen para que pese menos.


Sera costoso para el procesador en funcion de las capturas que haga por unidad de tiempo.
Responder Con Cita
  #6  
Antiguo 28-07-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Creo qeu el RealVnc hace lo que pide opardor, capta la imagen en donde ha habido movimiento(segun mis ojos, no a ciencia cierta). He intentado de hacer lo mismo sin exito
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #7  
Antiguo 29-07-2005
opardor opardor is offline
Miembro
 
Registrado: jul 2005
Posts: 16
Poder: 0
opardor Va por buen camino
Post Uso de GetUpdateRec

Leyendo en la API de windows encontre que con la función GetUpdateRec se obtiene sólo el área de imagen a ser actualizada. Pero al hacer el llamado a la funcion no obtengo resultado alguno. Si alguien me puede dar una pista sobre como emplearla será de mucha ayuda.

Gracias.!!
Responder Con Cita
  #8  
Antiguo 29-07-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Siempre tuve la idea de que este tipo de aplicaciones instalaban un hook del tipo WH_CALLWNDPROCRET, y capturaban los WM_PAINT o similares... ¡¡Aclaro que nunca lo he comprobado!!
Por otro lado VNC era opensource, por lo que podrías husmear su código para ver como lo hace

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:58:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi