Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > API de Windows
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 28/07/2005
opardor opardor is offline
Miembro
 
Join Date: 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
Reply With Quote
  #2  
Old 28/07/2005
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Creo que no está muy clara tu consulta, al menos para mí, puédes explicarla un poquito más?, gracias.
Reply With Quote
  #3  
Old 28/07/2005
dec's Avatar
dec dec is offline
Moderador
 
Join Date: Dec 2004
Location: Alcobendas, Madrid, España
Posts: 13,145
Poder: 36
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

Last edited by dec : 28/07/2005 at 12:10. Reason: (corrección)
Reply With Quote
  #4  
Old 28/07/2005
opardor opardor is offline
Miembro
 
Join Date: 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.
Reply With Quote
  #5  
Old 28/07/2005
kalisto kalisto is offline
Miembro
 
Join Date: Jul 2004
Posts: 62
Poder: 23
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.
Reply With Quote
  #6  
Old 28/07/2005
vtdeleon's Avatar
vtdeleon vtdeleon is offline
Miembro
 
Join Date: Apr 2004
Location: RD & USA
Posts: 3,236
Poder: 26
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!
Reply With Quote
  #7  
Old 29/07/2005
opardor opardor is offline
Miembro
 
Join Date: 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.!!
Reply With Quote
  #8  
Old 29/07/2005
delphi.com.ar's Avatar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Join Date: May 2003
Location: Buenos Aires, Argentina *
Posts: 5,965
Poder: 29
delphi.com.ar Va camino a la fama
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.
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 12:34.


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