Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-01-2007
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Diferencias en dos graficos (captura de desktop)

Buenas noches compañeros.

Trabajo con delphi 7.0.

Estoy desarrollando un aplicativo que permite el control de forma remota una PC en una intranet.

<Para ello estoy trabajando con socket's>
Se entiende Maquina Server la pc que va a ser controloda
y cliente la maquina que controla.

Entre las caracteristicas de este aplicativo es la captura del desktop de la maquina server. La captura y el envio de la pantalla del server al cliente es algo lenta.

Mi duda es: Existe alguna forma de comparar dos graficos (captura del desktop) y solo enviar de la maquina server las diferencias al cliente?.

Creo que de esta forma podria obtener velocidad y liberar el transito de datos.

Espero ser claro con mi duda.

A a espera de sus noticias

Your friend,

StartKill
Lima-Perú
Responder Con Cita
  #2  
Antiguo 24-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.108
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Es posible que exista alguna forma de hacer lo que quieres aunque yo ahora mismo la desconozca. Sin embargo, ¿te planteaste la reducción de la imagen? Es posible que puedas escalarla a un tamaño inferior; si además envías la imagen como BMP tal vez podrías plantearte convertirla a GIF o JPG. Otra cosa que se me ocurre es la compresión de la imagen con ZIP, por ejemplo. Estas cosas unidas acaso conseguirían que la imagen a enviar ya no pesase tanto. Y puede que costase menos "tiempo de proceso" realizar estas tres tareas que una supuesta comparación de imágenes.

Ya se verá. Es sólo una idea. Seguro que alguien podrá contestarte a lo que has preguntado más directamente.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 24-01-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Una idea que se me ocurre es que podrías hacer un barrido. Me explico. Divides la pantalla en, por ejemplo, diez filas y envías sólo una fila cada vez. El que recibe simplemente tiene que pegar la fila. Lógicamente deberás enviar un identificador de la fila por si se pierde alguna por el camino.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #4  
Antiguo 24-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Una solución es la que coloque en este otro hilo:

http://www.clubdelphi.com/foros/show...60&postcount=4

Ahí explico como teniendo 2 imágenes (mejor bmp), podemos obtener el recuadro donde ha cambiado la imagen.

Por otro lado la idea de Ñuño me parece muy buena, incluso mejor, pero esa te la dejo hacer a ti que luego me llaman agonioso

De todas formas, aunque localmente siempre trabajes con bmp, en el momento de enviar los recuadros modificados debes comprimirlos, como te dijo dec. Puedes usar jpeg, si lo importante es el tamaño, o png si necesitas mas calidad.
Responder Con Cita
  #5  
Antiguo 29-01-2007
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Muy agradecido por sus respuestas:

dec: compresión utilizando formato jpg.. excelente.
Nuño Martinez: no es mala la idea de fraccionar la pantalla por filas.
seoane:Me gusta tu ejemplo, encontrar la zona del cambio.

Le voy decir que es lo que pienso hacer, voy a combinar las siguientes tecnicas.
  • Antes comparar las pantallas piendo convertirlas en scala de grises y luego utilizo el programa de (seoane)
  • Para enviar la pantalla la convierto en jpg (dec)
El jpg de escala de grises es mucho mas pequeño que el jpg de colores.(no lo tendre a colores pero se que va a mejorar la velocidad)

Saludos

Your friend

StartKill
Lima-Perú
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Generar con Desktop se pueden dbf zugazua2001 Conexión con bases de datos 4 03-07-2006 22:16:37
Database Desktop? gandalf_27 C++ Builder 3 12-05-2006 22:37:51
InstallShield y Database desktop coleleon Varios 0 10-12-2005 19:15:32
Problemas con el DeskTop lgarcia Varios 5 11-04-2005 16:04:04
Inetrbase Desktop StartKill Firebird e Interbase 0 14-12-2004 16:11:07


La franja horaria es GMT +2. Ahora son las 12:48:30.


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