За какое время было создано изображение

Previous  Top  Next

    
 

 

При нажатии на Button1 используется свойство Pixels, а при нажатии на Button2 - ScanLine. В заголовок окна выводится время в миллисекундах, за которое было создано изображение.

Code:

procedure TForm1.Button1Click(Sender: TObject);

var

t: cardinal;

x, y: integer;

bm: TBitmap;

begin

bm := TBitmap.Create;

bm.PixelFormat := pf24bit;

bm.Width := Form1.ClientWidth;

bm.Height := Form1.ClientHeight;

t := GetTickCount;

for y := 0 to bm.Height - 1 do

   for x := 0 to bm.Width - 1 do

   bm.Canvas.Pixels[x,y] := RGB(x+y, x-y, y-x);

Form1.Caption := IntToStr(GetTickCount - t);

Form1.Canvas.Draw(0, 0, bm);

end;

 

procedure TForm1.Button2Click(Sender: TObject);

var

t: cardinal;

x, y: integer;

bm: TBitmap;

p: PByteArray;

begin

bm := TBitmap.Create;

bm.PixelFormat := pf24bit;

bm.Width := Form1.ClientWidth;

bm.Height := Form1.ClientHeight;

t := GetTickCount;

for y := 0 to bm.Height - 1 do

begin

   p := bm.ScanLine[y];

   for x := 0 to bm.Width - 1 do

   begin

     p^[x*3] := x+y;

     p^[x*3+1] := x-y;

     p^[x*3+2] := y-x;

   end;

end;

Form1.Caption := IntToStr(GetTickCount - t);

Form1.Canvas.Draw(0, 0, bm);

end;

 

 

 

 

©Drkb::04119

Даниил Карапетян.

На сайте http://delphi4all.narod.ru Вы найдете еще более 100 советов по Delphi.

Email: delphi4all@narod.ru