Hola de nuevo.
Para ampliar un poco más, si querés utilizar imágenes .jpg podrías hacer:
Código:
#include<Jpeg.hpp>
bool IsBitmapsEqual(Graphics::TBitmap* B1, Graphics::TBitmap* B2)
{
if( B1->Height != B2->Height || B1->Width != B2->Width ||
B1->PixelFormat != B2->PixelFormat )
return false;
for(int i =0; i < B1->Height ; i++ )
if(memcmp(B1->ScanLine[i],
B2->ScanLine[i],B1->Width * (B1->PixelFormat) / 8) != 0)
return false;
return true;
}
Graphics::TBitmap *JpgToBmp(AnsiString AName)
{
Graphics::TBitmap *B1 = new Graphics::TBitmap;
TJPEGImage *J1 = new TJPEGImage;
try {
J1->LoadFromFile(AName);
B1->Height = J1->Height;
B1->Width = J1->Width;
B1->Assign(J1);
}
catch(...) {
delete(J1);
throw Exception("Error al cargar la imágen");
}
delete(J1);
return B1;
}
Llamada de ejemplo:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->Bitmap = JpgToBmp("C:\\Users\\User\\Pictures\\Imagen1.jpg");
Image2->Picture->Bitmap = JpgToBmp("C:\\Users\\User\\Pictures\\Imagen2.jpg");
ShowMessage(IsBitmapsEqual(Image1->Picture->Bitmap,
Image2->Picture->Bitmap ) ? "IGUALES" : "DIFERENTES");
}
Saludos.