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-12-2006
Avatar de TomMB
TomMB TomMB is offline
Registrado
 
Registrado: dic 2004
Posts: 7
Poder: 0
TomMB Va por buen camino
Comparar 2 TImage

hola aguien podria decirme como comparar 2 imagenes, yo pense que seria algo asi

if Image1.Picture.Bitmap=Image2.Picture.Bitmap then......
o asi
if Image1.Canvas=Image2.Canvas then......

Pero no me funciona.

Gracias.
Responder Con Cita
  #2  
Antiguo 24-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Como bien dices no es tan simple.

Busca en el foro por "scanline" que permite extraer una línea entera de un Timage para después compararlo con el otro. Es un sistema quizás lento para imágenes grandes.

Creo haber visto que para cosas más gordas puede usarse "CompareMem"

Busca por el foro y también abajo del todo en hilos relacionados quizás te dé más ideas.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 24-12-2006
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
Sabia que había puesto un código como el que tu pides por aquí:
http://www.clubdelphi.com/foros/show...92&postcount=8

Y si necesitas algo mas avanzado, en este otro hilo identifico el recuadro donde se producen las diferencias:
http://www.clubdelphi.com/foros/show...60&postcount=4
Responder Con Cita
  #4  
Antiguo 24-12-2006
fide fide is offline
Miembro
 
Registrado: oct 2006
Posts: 331
Poder: 18
fide Va por buen camino
Lightbulb Respondiendo

Hola, tambien podrias hacerlo conparando los pixeles de forma independiente en cada una de las imagenes. Eso sería algo lento pero funcionaría.

Ademas, para algo Microsoft inplmemento los Thread. Si utilizar barios de estos con un ScanLine quizá logres algo un tanto optimizado.

Si no sabes lo que es un Thread o como utilizarlos pregunta en el foro a los demas por ellos y leete un buen manual de delphi.
Responder Con Cita
  #5  
Antiguo 24-12-2006
Avatar de PiornoCKA&G
PiornoCKA&G PiornoCKA&G is offline
Miembro
 
Registrado: dic 2006
Ubicación: Guantanamo-Cuba
Posts: 20
Poder: 0
PiornoCKA&G Va por buen camino
Via lenta pero sencilla

Prueba si esto te sirve:
Código Delphi [-]
...
// Importante: Una imagen es una matrix bidimensional de colores 
//Si la escala entre las dos imagen son diferentes ya no son iguales
if  (Image1.Picture.Bitmap.Width = Image2.Picture.Bitmap.Width)  and
   (Image1.Picture.Bitmap.Height = Image2.Picture.Bitmap.Height) then
for i := 1 to Image1.Picture.Bitmap.Width do
    begin
        for j := 1 to  Image1.Picture.Bitmap.Height do
            begin
                //Si un solo pixel es diferente entonces no son iguales
                if Image1.Picture.Bitmap.Canvas.Pixels[i,j] := 
                   Image2.Picture.Bitmap.Canvas.Pixels[i,j]  then 
                   Iguales := False; //Variable boolean predefinida
              end; 
    end;
//Y ahi lo tienes
Responder Con Cita
  #6  
Antiguo 24-12-2006
Avatar de TomMB
TomMB TomMB is offline
Registrado
 
Registrado: dic 2004
Posts: 7
Poder: 0
TomMB Va por buen camino
Voy a probarlo

Gracias a todos por vuetra rapidez en contestar, voy a probarlo todo a ver cual de las soluciones me funciona mejor, ya os dire cosas.

reitero mi agradecimiento, no esperaba tantas respuestas en tan poco tiempo, SOYS COJONUDOS.

PD. Felices fiestas a todos.
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
comparar hora ebeltete Varios 4 31-01-2006 16:02:18
comparar con el mod emiliu Varios 1 23-01-2006 20:55:53
comparar horas noobdelphi Firebird e Interbase 2 27-01-2005 15:55:01
Comparar dos RECORD oworty Varios 3 23-11-2004 15:18:33
como combinar 2 Timage en un tercer Timage JefeNet Gráficos 10 02-09-2004 16:51:35


La franja horaria es GMT +2. Ahora son las 23:58:34.


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