Einzelnen Beitrag anzeigen

Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#4

Re: Image und ImageList vergleichen

  Alt 17. Jun 2006, 04:36
ich glaube nicht, dass das ein "richtiger" Bitmap-Vergleich ist, da du nur 2 Referenzen vergleichst...

ich hatte mir für diesen zweck mal folge funktion geschrieben...

Delphi-Quellcode:
function CompareBitmaps(Bmp1,Bmp2:TBitmap):boolean;
type
  PRGBTripleArray = ^TRGBTripleArray;
  TRGBTripleArray = array[0..32767] of TRGBTriple;
var srcRow, DestRow: PRGBTripleArray;
    x,y:integer;
    different:boolean;
begin
  different:=false;
  if (bmp1.width=bmp2.width) and (bmp1.height=bmp2.height) then
  begin
    y:=0;
    while (y < bmp1.Height) and (different=false) do
    begin
      SrcRow := Bmp1.Scanline[y];
      DestRow := Bmp2.Scanline[y];
      x:=0;
      while (x < Bmp1.Width) and (different=false) do
      begin
        if not ((SrcRow[x].rgbtRed=DestRow[x].rgbtRed) and
           (SrcRow[x].rgbtGreen=DestRow[x].rgbtGreen) and
           (SrcRow[x].rgbtBlue=DestRow[x].rgbtBlue)) then different:=true;
        inc(x);
      end;
      inc(y);
    end;
  end else different:=true;
  Result:=not different;
end;
Gruß Frank
  Mit Zitat antworten Zitat