Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4
  Alt 21. Aug 2002, 10:26
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
  Mit Zitat antworten Zitat