Veröffentlicht 30. November 200222 j Hi, welche möglichkeiten gibt es 2 bilder (.bmp oder .jpg) mit VC++ zu vergleichen ???
30. November 200222 j 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]
30. November 200222 j 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
2. Dezember 200222 j 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 * ********
2. Dezember 200222 j 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.
3. Dezember 200222 j Und was war nun das genaue Problem und die richtige Lösung dazu? GREETZ ******** * Fiesek * ********
5. Dezember 200222 j 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+.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.