Hallo Zusammen,
ich versuche gerade von einem Screenshoot einen Bereich auszuschneiden und von diesem einen Hashwert mittels MD5 zu generieren. Um diesen dann ganz im Sinne einer Pixelchecksum mit einem anderen Hashwert (welcher auf dem selben Wege entstanden ist) zu vergleichen. In (meiner) Theorie sollte dies die gleiche Eindeutigkeit bei einem Bildervergleich wie die Pixelchecksum-Methode ergeben.
Das ist ein reines neugier Projekt und zielt auf die eigentliche Machbarkeit und weniger auf einen Anwendungsnutzen ab. Mein Code ist soweit noch sehr unfertig da ich gerade erst seit einigen Minuten dran sitze und mich Frage ob es generell machbar ist. Nichts desto trotz hier ein kleines Beispiel (momentan nur ein Screenshoot vom Desktop und die Ermittlung des Hashwertes):
_GDIPlus_Startup()
Send("{PRINTSCREEN}")
_ClipBoard_Open(0)
$BILDinZWSPEICHER = _ClipBoard_GetDataEx($CF_BITMAP)
$bild = _GDIPlus_BitmapCreateFromHBITMAP($BILDinZWSPEICHER)
_Crypt_Startup()
$sFile = $bild;"test.png"
$MD5 = _Crypt_HashFile($sFile, $CALG_MD5)
MsgBox(0, 'Hash', "MD5 von '"&$sFile&"': " &@CRLF & Hex($MD5))
_Crypt_Shutdown()
_GDIPlus_Shutdown()
Also der Hashwert von gespeicherten Bilder funktioniert aber ich möchte die Bilder nicht immer speichern müssen.