Scratch Geschrieben 30. November 2002 Geschrieben 30. November 2002 Hi, welche möglichkeiten gibt es 2 bilder (.bmp oder .jpg) mit VC++ zu vergleichen ??? Zitieren
Klotzkopp Geschrieben 30. November 2002 Geschrieben 30. November 2002 Falls GDI+ zur Verfügung steht, geht das relativ einfach. Hier eine Beispiel-Konsolenanwendung: // GDI+ #include <windows.h> #include <gdiplus.h> using namespace Gdiplus; #pragma comment( lib, "gdiplus.lib" ) // für cout #include <iostream> using namespace std; int main() { // GDI+ initialisieren GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); // Scopeklammern, damit alle Objekte vor GdiPlusShutdown zerstört sind { Bitmap bm1( L"C:\\kk.gif" ); Bitmap bm2( L"C:\\kk2.gif" ); if( bm1.GetWidth() != bm2.GetWidth() || bm1.GetHeight() != bm2.GetHeight() ) { // Unterschiedliche Abmessungen cout << "Die Bilder haben unterschiedliche Abmessungen." << endl; cout << "Es wurde kein Vergleich durchgeführt." << endl; } else { int nDifferentPixels = 0; Color color1, color2; for( int x=0; x<bm1.GetWidth(); ++x ) { for( int y=0; y<bm1.GetHeight(); ++y ) { if( Ok == bm1.GetPixel( x,y, &color1 ) && Ok == bm2.GetPixel( x,y, &color2 ) ) { if( color1.GetValue() != color2.GetValue() ) { ++nDifferentPixels; } } } } cout << "Unterschiedliche Pixel: " << nDifferentPixels << endl; } } GdiplusShutdown(gdiplusToken); return 0; } [/CODE] Zitieren
Klotzkopp Geschrieben 30. November 2002 Geschrieben 30. November 2002 Nachtrag: GDI+ ist AFAIK bei Windows XP enthalten. Für Windows NT4 SP6, Windows 2000, 98 und ME kann man es hier bekommen: http://www.microsoft.com/downloads/release.asp?releaseid=32738 Zitieren
Fiesek Geschrieben 2. Dezember 2002 Geschrieben 2. Dezember 2002 Grüß Euch! Falls die Postings vorher Deine Frage nicht beantwortet haben, adnn schreib doch einfach mal, was Du da vergleichen willst und vieleicht noch warum. @Mod Sorry, ich will Dir hier nicht in die Parade fahren, aber vieleicht hat er oder sie ja was anderes gesucht. GREETZ ******** * Fiesek * ******** Zitieren
Klotzkopp Geschrieben 2. Dezember 2002 Geschrieben 2. Dezember 2002 Originally posted by Fiesek @Mod Sorry, ich will Dir hier nicht in die Parade fahren, aber vieleicht hat er oder sie ja was anderes gesucht.Kein Problem. Wir hatten die Details des Problems per ICQ geklärt. Kannst Du ja nicht wissen. Zitieren
Fiesek Geschrieben 3. Dezember 2002 Geschrieben 3. Dezember 2002 Und was war nun das genaue Problem und die richtige Lösung dazu? GREETZ ******** * Fiesek * ******** Zitieren
Klotzkopp Geschrieben 5. Dezember 2002 Geschrieben 5. Dezember 2002 Originally posted by Fiesek Und was war nun das genaue Problem und die richtige Lösung dazu? Das genaue Problem war, die Anzahl der unterschiedlichen Pixel in zwei Bilddateien zu ermitteln. Das sollte mit unterschiedlichen Bitmap-Dateiformaten funktionieren. "Die" richtige Lösung dafür gibt es nicht. Was ich oben beschrieben habe, funktioniert und ist im Vergleich zu anderen möglichen Lösungen recht komfortabel, benötigt allerdings GDI+. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.