Seite 1 von 1
[gelöst] Änderungen im QImage feststellen.
Verfasst: 18. Mai 2005 10:06
von Marc Schubert
Hallo Zusammen,
wie kann ich feststellen ob sich in einem QImage was geändert hat? Bei meinem Programm werden Bilder per Netzwerk übertragen. Ich möchte nun vermeiden Images zu übertragen in denen sich nichts geändert hat.
Gibt es sowas wie eine Checksummen überprüfung für QImages?
Mit freundlichen Grüßen
Marc Schubert
Verfasst: 18. Mai 2005 10:22
von FlorianBecker
Also bei Qt selber (vielleicht) nicht, aber Qt beinhaltet libz bzw. hat deren Abhängigkeit, da gibts einen CRC und einen Adler32 Check, damit sollte das bestimmt auch gehen, oder? Außerdem kann man ja gleich einige Tests fahren, z.B. Änderungsdatum und Adler32. Wobei du sicherlich auch sowas wie md5 nehmen kannst.
Verfasst: 18. Mai 2005 11:10
von Christian81
Wenn man die Qt-Sourcen hat (es reichen die qmake-sourcen), ist eine Datei qtmd5.cpp/.h dabei (qt-3/qmake), welche md5-Funktionalität bereitstellt.
[gelöst] Änderungen im QImage feststellen
Verfasst: 20. Mai 2005 16:02
von Marc Schubert
Hallo,
und danke für die Typs. Ich verwede jetzt Adler32 da dies nur eine einfach Funktion ist war sie sehr einfach einzubinden.
Für alle die das auch mal brauchen könnten ein kleiner schnipsel
Code: Alles auswählen
Q_UINT32 returnAdler32( unsigned char *buf, int len)
{
unsigned long s1 = 1;
unsigned long s2 = 0;
for (int n = 0; n < len; n++)
{
s1 = (s1 + buf[n]) % 65521; /* größte primzahl kleiner als 65536 */
s2 = (s2 + s1) % 65521;
}
return( (s2 << 16) + s1 );
}
Mit freundlichen Gruß
Marc Schubert