habe hier noch etwas gefunden. Paßt vielleicht nicht ganz hier hin, aber die Funktion habe ich einmal verwendet, um Records miteinander zu vergleichen. Allerdings liefert sie nur eine Aussage, ob zwei Records (oder Bilder) gleich sind oder nicht. Das mit den Pixeln verstehe ich sowieso nicht, von Hand wirst du kaum 2mal identische Bilder machen. Selbst wenn du keinen Unterschied siehst. Jedes Programm würde dir sagen die Bilder seien zu 100 % nicht identisch, da eine Verschiebung oder Drehung um 1 Pixel schon genügt, damit kein pixel mehr deckungsgleich ist. Ausnahme Deckel auf Kamera. haha.
Code:
Function Comp_Stru ( Var s1, s2; groesse : word ) : boolean;
Var
a1 : Array [1..$FFFF] Of Byte Absolute s1;
a2 : Array [1..$FFFF] Of Byte Absolute s2;
i : Integer;
c : integer;
Begin
c := 0;
For i := 1 To groesse Do Begin
If a1[i]<a2[i] Then Begin
c := -1;
End;
If a1 [i] > a2 [i] Then Begin
c := 1;
End;
Comp_Stru := c <> 0;
End;
End;
Für den, meines Erachtens, einzigen Zweck, nämlich bereits vorhandene (auf PC !) Bilder zu ermitteln, müßte die Funktion (entsprechend angepaßt) funktionieren. Schnell ist sie auch. Aufzurufen wäre sie dann so:
Code:
...
VAR bild1,bild2 : Bildtyp;
gleich : boolean;
...
gleich := comp_stru (bild1,bild2,sizeof (bildtyp) = 0;
Gruß
Hansa
Code-Tags eingefügt. Mfg. Daniel