Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 18-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Esto ya parece el "mas difícil todavía". Pero nada, si quieres un dibujar una espiral de colores, vamos a ver que se puede hacer.

Código Delphi [-]
procedure Espiral(Canvas: TCanvas; X,Y,V,Ancho: Integer);
var
  i,j,k: integer;
  z: Real;
begin
  Randomize;
  Ancho:= Ancho * 16;
  z:= (2*V*pi)/Ancho;
  Canvas.MoveTo(x,y);
  k:= 0;
  for i:= 1 to V do
  begin
    // Usamos un color aleatorio
    Canvas.Pen.Color:= RGB(Random($FF),Random($FF),Random($FF));
    for j:= 1 to Ancho div V do
    begin
      Canvas.LineTo(x + (Round(k*cos(z*k))) shr 4,y + (Round(k*sin(z*k)) shr 4));
      inc(k);
    end;
  end;
end;

Un ejemplo de como usarla, fíjate que los parámetros son diferentes a las funciones anteriores:
Código Delphi [-]
  // Esto dibuja una espiral de 200 de radio, donde cada vuelta es de un color diferente
  Espiral(Canvas,200,200,10,200);

Si quieres cambiar de color mas de una vez por vuelta entonces modificariamos un poco mas el codigo de la funcion:
Código Delphi [-]
procedure Espiral(Canvas: TCanvas; X,Y,V,Ancho: Integer);
var
  i,j,k: integer;
  z: Real;
begin
  Randomize;
  Ancho:= Ancho * 16;
  z:= (2*V*pi)/Ancho;
  // Con esta modificacion, cambiamos de color 4 veces por vuelta
  V:= V * 4;
  Canvas.MoveTo(x,y);
  k:= 0;
  for i:= 1 to V do
  begin
    Canvas.Pen.Color:= RGB(Random($FF),Random($FF),Random($FF));
    for j:= 1 to Ancho div V do
    begin
      Canvas.LineTo(x + (Round(k*cos(z*k))) shr 4,y + (Round(k*sin(z*k)) shr 4));
      inc(k);
    end;
  end;
end;

¿que sera lo siguiente?
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 en delphi Noitam Gráficos 10 26-09-2006 12:06:04
Dibujar en canvas razadi Varios 4 23-08-2005 00:55:20
Dibujar circulos y arrastrarlos mosorio Gráficos 3 16-08-2005 11:43:14
componente para dibujar pablo Gráficos 1 14-06-2005 15:16:09
Dibujar en un TWebBrowser nadie135 Internet 1 01-11-2003 22:57:41


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


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