Einzelnen Beitrag anzeigen

Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#1

Scanline+TrackBarChange geht nicht

  Alt 8. Okt 2006, 18:00
Hi!

Ich hab ein Image (256*256Pxs) und einen TrackBar (Min: 0; Max: 255).

Über den TrackBar soll der Rot-Anteil des Images geregelt werden. Folgender Code bewirkt allerdings nichts.
Habt ihr ne Ahnung, woran das liegen kann?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    TrackBar1: TTrackBar;
    procedure TrackBar1Change(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure MakeRed(Bmp: TBitmap; const r: Byte);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

procedure TForm1.MakeRed(Bmp: TBitmap; const r: Byte);
type
  TPixArray = array[1..3] of Byte;
var
  p: ^TPixArray;
  h, w: Byte;
begin
  for h := 0 to Bmp.Height - 1 do
  begin
    p := Bmp.ScanLine[h];
    for w := 0 to Bmp.Width - 1 do
    begin
      p^[3] := r;
      Inc(p);
    end;
  end;
end;

{$R *.DFM}

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  MakeRed(Image1.Picture.Bitmap, TrackBar1.Position);
end;

end.
  Mit Zitat antworten Zitat