Thema: Delphi Negativ bei TImage

Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#11

Re: Negativ bei TImage

  Alt 17. Apr 2006, 15:16
Einfach Scanline verwenden und die Farbwerte umdrehen, fertig.

Delphi-Quellcode:
procedure NegativeBitmapFX(aBitmap: TBitmap);
var
  x, y: integer;
  p: pbytearray;
begin
  aBitmap.PixelFormat := pf24Bit;

  for y := 0 to aBitmap.Height - 1 do
  begin
    p := aBitmap.scanline[y];
    for x := 0 to (aBitmap.Width * 3) - 1 do
      p[x] := 255 - p[x]; // oder: p[x] := not p[x];
  end;
end;

// Aufruf zB. so:

procedure TForm1.Button1Click(Sender: TObject);
begin
  NegativeBitmapFX(image1.picture.bitmap);
  image1.Refresh;
end;

// Edit:
  • Verschlimmbesserung ausgebessert.
  • Die Idee mit dem not hinzugefügt ( auf diese Idee währe ich im Leben nicht gekommen )
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat