Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Como utilizo el Fillrect (https://www.clubdelphi.com/foros/showthread.php?t=77689)

Roberto Solis 19-02-2012 22:07:36

Como utilizo el Fillrect
 
Buenas tardes, les vengo con una nueva duda sobre como ponerle color a un elipse que cree en una imagen.

image1.Canvas.Create.Ellipse(30,337,70,300); //si no estoy mal con esto ya me creo un elipse en la posición que yo desee.

image1.Canvas.FillRect(30,337,70,300);//pero no estoy seguro de que datos debo ingresar dentro de este (que parametros), ya que cuando lo pongo asi me tira el siguiente error : [Error] Unit1.pas(54): Incompatible types: 'TRect' and 'Integer'.

soy muy novato en esto alguien que sepa y me ayude? Gracias.

Roberto Solis 19-02-2012 22:26:18

...si alguien puede poner un ejemplo simple estare agradecido :).

Casimiro Notevi 19-02-2012 22:53:15

Hola, por favor recuerda nuestra guía de estilo, y además que esto no tiene nada que ver con el foro donde lo has preguntado "Delphi/web".
¿Has hecho una búsqueda?

Lo cambio de foro.

Caral 19-02-2012 23:02:39

Hola
Tal vez te sirva trabajar con un tShape.
Saludos

Caral 19-02-2012 23:16:12

Hola
AQUI y AQUI puedes ver ejemplos.
Saludos

Chris 19-02-2012 23:28:21

FillRect toma como parametro una variable de tipo TRect. Lo que estás pasando son cuatro parámetros de tipo entero. Es por eso del mensaje "Incompatible Types...".

Para dibujar una elipse o cualquier otra figura gráfica, yo normalmente utilizo la API de Windows directamente. La función correspondiente en la API para hacer lo que deseas se llama Ellipse. A continuación un ejemplo:
Código Delphi [-]
begin
    Ellipse(Image1.Canvas.Handle,
            30, 337, 70, 300); 
end;

Con el anterior código, el color y tipo de borde de la elipse se determinarán por la propiedad Pen de Image1.Canvas. El color y tipo de relleno de la elipse serán determinados por la propiedad Brush de Image1.Canvas. En resumidas cuentas, tedrás que ajustar estas propiedades antes de llamar al código que te he proporcionado.

Una última cosa. FillRect es exclusivamente para rellenar rectángulos, no elipses. Hay otra función que se llama DrawRect, pero ésta solo dibuja el contorno de un rectángulo. Para dibujar rectángulos con bordes redondeados utiliza la función RoundRect. Ésta última funciona como la función Ellipse en el sentido que, el estilo del rectángulo será determinado por las propiedades Pen y Brush.

Saludos.

Roberto Solis 19-02-2012 23:35:56

Gente mil gracias por su ayuda me sera muy útil :D. Cierto creo que cuando me estaba leyendo las normas me salte la de postear mis temas en el lugar correcto (aunque es mas lógica):o.

Casimiro Notevi 20-02-2012 00:59:59

Cita:

Empezado por Roberto Solis (Mensaje 425480)
Gente mil gracias por su ayuda me sera muy útil :D. Cierto creo que cuando me estaba leyendo las normas me salte la de postear mis temas en el lugar correcto (aunque es mas lógica):o.

No pasa nada, sólo tenlo en cuenta para la próxima vez, gracias :)


La franja horaria es GMT +2. Ahora son las 15:50:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi