| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- unit Unit1;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
- BGRAGraphicControl, BGRABitmap, BCTypes, BGRABitmapTypes;
- type
- { TForm1 }
- TForm1 = class(TForm)
- BGRAGraphicControl1: TBGRAGraphicControl;
- Timer1: TTimer;
- procedure BGRAGraphicControl1Redraw(Sender: TObject; Bitmap: TBGRABitmap);
- procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
- procedure FormCreate(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- private
- { private declarations }
- public
- { public declarations }
- bkg: TBGRABitmap;
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.lfm}
- { TForm1 }
- procedure TForm1.BGRAGraphicControl1Redraw(Sender: TObject; Bitmap: TBGRABitmap
- );
- var
- i: integer;
- bmp: TBGRABitmap;
- begin
- //Bitmap.Fill(BGRABlack);
- Bitmap.FillTransparent;
- for i:= 0 to Bitmap.Width -1 do
- begin
- Bitmap.DrawVertLine(i,{Random(Bitmap.Height)}0,Random(Bitmap.Height),BGRA(255,255,255,Random(25)));
- Bitmap.DrawVertLine(i,Random(Bitmap.Height),Random(Bitmap.Height),BGRA(255,255,255,Random(50)));
- end;
- bmp := Bitmap.FilterBlurMotion(10,270,True) as TBGRABitmap;
- BGRAReplace(bmp, bmp.FilterBlurRadial(1,rbFast));
- Bitmap.BlendImageOver(0,0,bkg,boLinearBlend);
- Bitmap.BlendImageOver(0,0,bmp,boLinearBlend);
- bmp.Free;
- end;
- procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
- begin
- Timer1.Enabled := False;
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- bkg := TBGRABitmap.Create('Lighthouse.jpg');
- end;
- procedure TForm1.FormDestroy(Sender: TObject);
- begin
- bkg.Free;
- end;
- procedure TForm1.Timer1Timer(Sender: TObject);
- begin
- BGRAGraphicControl1.DiscardBitmap;
- end;
- end.
|