Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-11-2008
asdrojas asdrojas is offline
Registrado
 
Registrado: sep 2008
Posts: 1
Poder: 0
asdrojas Va por buen camino
Como graficar.

Hola soy un novato con delphi, necesito hacer una gráfica para un proyecto en la u y no he podido. Instalé SDL component tools para delphi 7, yo tengo el 7.2 y no me funciona, también instalé el componente rt science y funciona de perla, pero el profesor me dijo que no lo aceptaría porque es un demo, y sólo deja correr el ejecutable a través del IDE.

Ahora necesito saber que otra opción tengo además de rt science y sdl, el gráfico es para monitoriar la velocidad de un motor, or lo tanto el eje x debe estar variando en el tiempo, prácticamente es esto lo único que mefalta para terminar el proyecto.

Gracias.
Responder Con Cita
  #2  
Antiguo 16-11-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, te dejo un ejemplo :

Código Delphi [-]
var
     bt : TBitmap;
     t  : double;

procedure TForm1.FormCreate(Sender: TObject);
begin
     bt := TBitmap.Create;
     doublebuffered := true;
     Timer1.Interval := 1;
     Timer1.Enabled := true;
end;

function Func(x : double) : double;
begin
     result := 100*sin(x*5)+ 100*cos(x*8);
end;

procedure TForm1.FormPaint(Sender: TObject);
var
     i,
     c : integer;
begin
     c := bt.Height div 2;

     bt.Width  := Width;
     bt.Height := Height;

     bt.Canvas.Brush.Color := $770000;
     bt.Canvas.FillRect(Rect(0,0,bt.Width,bt.Height));

     bt.Canvas.Pen.Color   := clWhite;
     bt.Canvas.MoveTo(0,c);
     bt.Canvas.LineTo(bt.Width,c);

     bt.Canvas.Pen.Color := $0080FF;
     bt.Canvas.Pen.Width := 2;
     for i := bt.Width downto 0 do
     begin
          bt.Canvas.MoveTo(i,Round(Func(t+0.0025*i)) + c);
          bt.Canvas.LineTo(i,Round(Func(t+0.0025*(i-1))) + c);
     end;

     BitBlt(Canvas.Handle, 0, 0, ClientWidth, ClientHeight, bt.Canvas.Handle, 0, 0, SRCCOPY);
end;

procedure TForm1.TimerTimer(Sender: TObject);
begin
     t := t + 0.0025;
     Paint;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
     bt.Destroy;
end;

busca por el foro sobre bitblt y bitmap.lock, para optimizar el 'flickering'. Saludos.
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
¿como graficar una función ingresada por el usuario? Robert01 Varios 0 20-12-2006 16:27:25
Como graficar en Delphi Luis Alberto Varios 1 29-12-2005 23:46:26
Como graficar 3D con TGrid? JuanErasmo C++ Builder 3 04-12-2005 09:36:30
Como evitar graficar valores? danytorres Varios 3 27-01-2005 15:27:12
Como graficar funciones Gloria Lora Gráficos 13 03-06-2004 23:07:51


La franja horaria es GMT +2. Ahora son las 06:34:21.


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