Einzelnen Beitrag anzeigen

endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#1

Graustufen in einem Bild farbig markieren

  Alt 24. Apr 2005, 11:56
Hallo,

ich möchte eine Methode schreiben die bestimmte Graustufen
mit einer Farbe markiert, in diesem Fall sollen alle Graustufen
zwischen 200 und 255 mit rot markiert werden.
Leider scheint das irgendwie nicht zu klappen (siehe Anhang).
Hat Jemand eine Idee woran das liegen könnte?


Delphi-Quellcode:
Var
  lBitmap : TBitmap;
  x, y, z : Integer;
  P : PRGBQuad;
Begin
  img_Changed.Picture.Assign(Nil);
  lBitmap := TBitMap.create;
  Try
    lBitmap.Assign(CacheBitmap);
    for y := 0 to lBitmap.Height - 1 do
    begin
      P := lBitmap.ScanLine[y];
      for x := 0 to lBitmap.Width - 1 do
      begin
        for z := 200 to 255 do
        begin
          If ( P^.rgbRed = z ) AND ( P^.rgbGreen = z ) AND ( P^.rgbBlue = z ) Then
          Begin
            P^.rgbRed := z;
            P^.rgbGreen := 0;
            P^.rgbBlue := 0;
        end;
        Inc(P);
      end;
    End;
    img_Changed.Picture.Assign(lBitmap);

  Finally
    lBitmap.Free;
  End;
Angehängte Grafiken
 
  Mit Zitat antworten Zitat