Tarea Clase Tcanvas

Páginas: 5 (1116 palabras) Publicado: 22 de febrero de 2013
Componente gif
Dibujando con la clase TCanvas (I)
La unidad Graphics dispone de la clase TCanvas dedicada al dibujo de objetos sobre la superficie de un control visual. Los controles estándar de Windows tales como Edit o Listbox no requieren canvas, ya que son dibujados por el sistema operativo.

Un objeto Canvas proporciona propiedades, métodos y eventos para realizar tareas como pueden ser:- Escribir texto especificando fuente, color y estilo.

- Copiar imágenes de una superficie a otra.

- Dibujar líneas, rectángulos y circulos con distintos patrones de color y estilo.

- Leer y modificar cada pixel de la imagen dibujada.

COMO DIBUJAR UN RECTANGULO

Antes de dibujar una figura se pueden seleccionar los colores del margen y de fondo. Supongamos que quiero hacer unrectángulo con un marco de 3 pixels de ancho y de color rojo. El fondo va a ser de color azul. Para ello nos vamos al evento OnPaint del formulario y escribimos lo siguiente:

procedure TFormulario.FormPaint( Sender: TObject );
begin
with Canvas do
begin
Pen.Color := clRed;
Pen.Width := 3;
Brush.Color := clBlue;
Rectangle( 10, 10, 110, 110 );
end;
end;El resultado es el siguiente:

Hemos utilizado la propiedad Pen para seleccionar el color del marco y su ancho. Con la propiedad Brush establecemos el color de fondo del rectángulo. Y mediante el procedimiento Rectangle hemos dibujado un rectángulo en la posición x = 10 e y = 10 teniendo un ancho y alto de 100x100. El procedimientoRectangle tiene los siguientes parámetros:procedure Rectangle( X1, Y1, X2, Y2: Integer );
procedure Rectangle( const Rect: TRect );

X1, Y1 -> Son las coordenadas de la esquina superior izquierda del rectángulo
X2, Y2 -> Son las coordenadas de la esquina inferior derecha del rectángulo

También se podría haber utilizado la estructura de datos TRect (rectángulo) para dibujar el rectángulo del siguiente modo:var
R: TRect;
begin
with Canvas do
begin
Pen.Color := clRed;
Pen.Width := 3;
Brush.Color := clBlue;
R.Left := 10;
R.Top := 10;
R.Right := 110;
R.Bottom := 110;
Rectangle( R );
end;
end;

La estructura TRect esta definida dentro de la unidad Type del siguiente modo:

TRect = packed record
case Integer of
0: (Left,Top, Right, Bottom: Integer);
1: (TopLeft, BottomRight: TPoint);
end;

donde los valores Left y Top determinan la posición superior izquierda del rectángulo y los valores Right y Bottom la esquina inferior derecha.

También existe otro procedimiento para hacer rectángulos sólo con fondo (sin borde) utilizando el procedimiento:

procedure FillRect( const Rect: TRect );Si lo hubiésemos utilizado este procedimiento sólo tendríamos un rectángulo con fondo azul. Lo único que tiene en cuenta es la propiedad Brush ignorando el valor de Pen.

Para el caso anterior no es necesario utilizar la estructura TRect, pero si se van a dibujar muchos rectángulos utilizando las mismas rutinas si es interesante utilizarla, evitándonos el tener que declarar las variables x1,y1, x2, y2 para las coordenadas. La estructura TRect es de uso general y no tiene porque estar asociada sólo al dibujo de rectángulos como veremos más adelante.

Las propiedades Pen y Brush son permantentes, es decir, que mientras no se modifiquen todo lo que se dibuje posteriormente tendrá los colores y estilo especificado por ambas. Si las figuras que se van a dibujar tienen mismo color deborde y fondo no es necesario especificar de nuevo el valor de Pen yBrush.

DIBUJANDO UN RECTANGULO CON ESQUINAS REDONDEADAS

Mediante el método RoundRect se pueden crear rectángulos con esquinas suavizadas. Veamos un ejemplo:

with Canvas do
begin
Pen.Color := clGray;
Pen.Width := 3;
Brush.Color := clWhite;
RoundRect( 300, 150, 380, 200, 30, 30 );
end;

Cuyo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • TAREA EN CLASES
  • Tarea de Clases
  • TAREA DE CLASE
  • Tarea extra clase Nº1
  • La Mejor Tarea De La Clase
  • Tarea sobre Clases
  • Tarea de Inclusion de clases
  • Tarea 1 Clase

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS