Советы по Delphi

         

Как мне немного ускорить вывод моей графики?


Попробуем воспользоваться только методами VCL; надеюсь это сможет вам помочь. BitBlt позволяет использовать CopyRect.

    var
BitMap : TBitmap;
procedure TForm1.FormCreate(Sender: TObject);
begin
Bitmap := TBitmap.Create; Bitmap.Width := 400; Bitmap.Height := 400; PaintBox1.Width := 200; PaintBox1.Height := 200;

With Bitmap.Canvas do begin Pen.Color := clNavy; Ellipse(0,0,399,399); end; end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
Bitmap.Free; end;

procedure TForm1.Button1Click(Sender: TObject);
var
Limit : Word; I : Word; PBBottom, PBRight : Word; begin
PBBottom := PaintBox1.Height - 1; PBRight := PaintBox1.Width - 1; Limit := Bitmap.Width - PaintBox1.Width; For I := 0 to Limit do PaintBox1.Canvas.CopyRect(Rect(0,0,PBRight,PBBottom), Bitmap.Canvas, Rect(I,0,I+PBRight,PBBottom)); end;

[001935]



Содержание раздела