Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: Benötige Hilfe bei C++ -> Delphi

  Alt 22. Apr 2011, 15:44
Mal so ausm Kopf, und ohne versucht zu haben die Function oben zu verstehen - die Aufgabe ist nämlich recht trivial
Delphi-Quellcode:
function AverageColor(bmp: TBitmap): TColor;
var
  ar, ag, ab, pixelCount: Int64;
  x, y: Integer;
  c: TColor;
begin
  ar := 0;
  ag := 0;
  ab := 0;
  for y := 0 to bmp.Height-1 do
  begin
    for x := 0 to bmp.Width-1 do
    begin
      c := bmp.Canvas.Pixels[x, y];
      inc(ar, GetRValue(c));
      inc(ag, GetGValue(c));
      inc(ab, GetBValue(c));
    end;
  end;
  pixelCount := bmp.Width*bmp.Height;
  result := rgb(ar div pixelCount, ag div pixelCount, ab div pixelCount);
end;
Natürlich etwas langsam dank Pixels[], aber ein Umbau nach Scanline ist denke ich jetzt machbar.
Happy Eierhunting!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat