Как быстро выводить графику?
Материал из DRKB
Как быстро выводить графику (a то Canvas очень медленно работает)
Вот пример заполнения формы точками случайного цвета:
type
TRGB = record
b, g, r: Byte;
end;
ARGB = array[0..1] of TRGB;
PARGB = ^ARGB;
var
b: TBitMap;
procedure TForm1.FormCreate(Sender: TObject);
begin
b := TBitMap.Create;
b.PixelFormat := pf24bit;
b.Width := ClientWidth;
b.Height := ClientHeight;
end;
procedure TForm1.Tim1OnTimer(Sender: TObject);
var
p: PARGB;
x, y: Integer;
begin
for y := 0 to b.Height - 1 do
begin
p := b.Scanline[y];
for x := 0 to b.Width - 1 do
begin
p[x].r := Random(256);
p[x].g := Random(256);
p[x].b := Random(256);
end;
end;
Canvas.Draw(0, 0, b);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
b.Free;
end;
Source: http://delphiworld.narod.ru
ID: 03723