Jugando con TCanvas: Conectando Objetos en Delphi (Parte IV).
- Evitando el Parpadeo (Flickering).
Al estar pintando continuamente el Canvas, todos los objetos parpadean en la pantalla. Para evitar esto, podemos utilizar el doble buffer. En la creación del formulario activamos la opción DobleBuffered a True:
procedure TForm1.FormCreate(Sender: TObject);
begin
DoubleBuffered := True;
end;
otra cosa que podemos hacer, es volcar el resultado del dibujo en un TBitmap, y luego volcar el resultado del pintado en la imagen, de la siguiente manera:
De esta manera, nuestra aplicación evitará el parpadeo:
var
Bmp : TBitmap;
begin
Bmp := TBitmap.Create;
try
Bmp.Width := image2.Width;
Bmp.Height := image2.Height;
DrawArrow(bmp.canvas, P1, P2, 5, true, clblack);
image2.Canvas.draw(0, 0, Bmp);
finally
bmp.free;
end;
end;
Podreis encontrar la aplicación aquí.
Comments
Post a Comment