Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-11-2007
dave.jason dave.jason is offline
Registrado
 
Registrado: oct 2007
Posts: 6
Poder: 0
dave.jason Va por buen camino
Color en figuras creadas con Canvas

Hola, tengo que hacer un proyecto en el que necesito dibujar un trapedio y colorearlo. El trapecio lo puedo hacer con Canvas pero ¿como le doy color?
Responder Con Cita
  #2  
Antiguo 10-11-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
¿Que método usas para crear el polígono? Si usas el método "Polygon" el polígono resultante se rellena con el color del Brush
Responder Con Cita
  #3  
Antiguo 10-11-2007
dave.jason dave.jason is offline
Registrado
 
Registrado: oct 2007
Posts: 6
Poder: 0
dave.jason Va por buen camino
Intenté ulilizar el "polygon" pero no se utilizarlo. No comprendo qué parámetros hay que poner. Me pide un const TPoint*, y no se lo que es.

¿Puedes poner un ejemplo para que pueda ver la estructura correcta?
Responder Con Cita
  #4  
Antiguo 10-11-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Pues un TPoint es una estructura de este tipo:
Código:
typedef struct tagPOINT { 
  LONG x; 
  LONG y; 
} POINT, *PPOINT;
El parámetro que te pide es un puntero a un array de puntos, es decir un array de estructuras TPoint. Tengo el C un poco oxidado pero debería ser algo así:
Código:
  TPoint Pt[4];

  Pt[0] = Point(10, 10);
  Pt[1] = Point(100, 10);
  Pt[2] = Point(100, 100);
  Pt[3] = Point(10, 100);
  Canvas->Polygone(Pt, 4);
Responder Con Cita
  #5  
Antiguo 11-11-2007
dave.jason dave.jason is offline
Registrado
 
Registrado: oct 2007
Posts: 6
Poder: 0
dave.jason Va por buen camino
Gracias. Ahora si que funciona. Una cosa más: ¿se puede programar un evento al hacer click en el trapecio? Si tal trapecio apareciese en el formulario no tendría ningún problema, pero como únicamente aparece al ejecutar el programa...

Si no se puede, pues nada. Pero gracias por la explicación del Polygon.
Responder Con Cita
  #6  
Antiguo 11-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Aunque ya te lo ha explicado Seoane, un ejemplo de lo que pides, basado en la propia ayuda de Delphi:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Canvas.Brush.Color := clRed;
  Canvas.Polygon([Point(10, 10), Point(30, 10),
  Point(130, 30), Point(240, 120)]);
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #7  
Antiguo 12-11-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por dave.jason Ver Mensaje
Hola, tengo que hacer un proyecto en el que necesito dibujar un trapedio y colorearlo. El trapecio lo puedo hacer con Canvas pero ¿como le doy color?
Código Delphi [-]
var Points: array [1..5] of TPoint = ((X:132;Y:66),(X:264;Y:66),(X:396;Y:198),(X:0;Y:198),(X:132;Y:66));

procedure TForm1.FormPaint(Sender: TObject);
var hRgn: Cardinal;
begin
 with Canvas do
  begin
   Pen.Color := clRed;
   Brush.Color := Pen.Color;
   hRgn := CreatePolygonRgn(Points, High(Points), ALTERNATE);
   FillRgn(Handle, hRgn, Brush.Handle);
   DeleteObject(hRgn);
  end;
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Dibujar figuras sobre un DBChart? sano815 Gráficos 1 14-10-2005 05:21:58
Color de Fondo del canvas y tamaño bpazzetti Gráficos 0 20-03-2005 02:07:43
Selección de figuras Luli Gráficos 8 01-12-2004 11:08:49
¿Cómo se da color a una figura de canvas? Albis Gráficos 3 27-01-2004 09:17:22
imprimer en color rojo con el canvas click Impresión 4 03-11-2003 15:17:51


La franja horaria es GMT +2. Ahora son las 06:08:23.


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
Copyright 1996-2007 Club Delphi