Ver Mensaje Individual
  #5  
Antiguo 01-08-2008
M@R!N@ M@R!N@ is offline
Miembro
 
Registrado: feb 2008
Posts: 21
Reputación: 0
M@R!N@ Va por buen camino
Bueno espero poder ayudarte...

Canvas->FloodFill(51,25,clRed,fsBorder);

Esa función tiene 4 parámetros, los dos primeros se refiere a las coordenadas a partir de las cuales el canvas empezará a rellenar, clRed pues obvio es el color y aqui viene lo importante el último parámetro solo puede tener 2 valores:

fsBorder --> Esta hace que se vaya coloreando el área que NO tiene el color indicado, y para cuando lo encuentra.
fsSourface --> Esta hace que se vaya coloreando el área que tiene el color que le indicaste a la función, y para cuando ya no encuentra ese color.

Con el ejemplo que pusiste de tu triángulo...

Código:
Canvas->Pen->Color=clRed;      //Utilicé de ejemplo el color rojo
Canvas->Brush->Color=clRed;
Canvas->MoveTo(50,25);
Canvas->LineTo(80,5);
Canvas->LineTo(12,90);
Canvas->LineTo(50,25);
Canvas->FloodFill(51,25,clRed,fsBorder);
Si te fijas en la función FloodFill utilicé un punto más en las coordenadas de la que pusiste inicialmente y fsBorder, bueno el chiste es que según para lo que sirve fsBorder, di a entender que se vaya llenando todo lo que no sea rojo y que para cuando encuentre este color... comienzo uno adelante porque el punto (50,25) ya es rojo y pararía el proceso, en cambio el (51,25) aún es gris, espero haberme dado a entender, de todas maneras checa el código y a lo mejor así le entiendas, suerte! ^_^
Responder Con Cita