Gambas/Dibujar
Si quieres producir algún gráfico en gambas deberías usar el control drawingarea.
Dibujar una Línea
[editar]Este pequeño programa dibujará una línea. Tienes que empezar un nuevo proyecto grafico.Toma un formulario como formulario de inicio. Necesitas un control drawingarea y un commandbutton en el formulario para poder empezar.
PUBLIC SUB Button1_Click() Draw.Begin(DrawingArea1) Draw.Line(1, 130, 500, 400) Draw.End END
Cuando quieras dibujar algunas líneas más, intenta esto:
PUBLIC SUB Form_Open() DIM B AS Integer Draw.Begin(DrawingArea1) FOR B = 1 TO 200 STEP 10 Draw.Line(1, B, 500, B) NEXT Draw.End END
Más líneas son dibujadas aquí:
PUBLIC SUB Button1_Click() DIM B AS Integer Draw.Begin(DrawingArea1) ' Dibuja una línea horizontal que atraviesa el centro del formulario Draw.Line (0, ME.Height / 2, ME.Width, ME.Height / 2) ' Dibuja una línea que baja verticalmente por el centro del formulario Draw.Line (ME.Width / 2, 0,ME.Width / 2, ME.Height) ' Dibuja una línea de la izquina superior izquierda a la esquina inferior derecha Draw.Line (0, 0,ME.Width, ME.Height) ' Dibuja una línea de la esquina superior derecha a la esquina inferior izquierda Draw.Line (ME.Width, 0,0, ME.Height) Draw.End END
Cuando quieras manipular el ancho de tu línea, guíate en este ejemplo:
PUBLIC SUB Form_Open() DIM B AS Integer Draw.Begin(DrawingArea1) Draw.Line(10,100, 20, 100) FOR B = 1 TO 100 STEP 10 Draw.LineWidth=B Draw.Line(10+B,100, 20+B, 100) NEXT Draw.End END
Si quieres cambiar el color de tu linea a blanco, prueba este ejemplo:
Draw.Begin(DrawingArea1) Draw.ForeColor = &HFFFFFF Draw.Line(1, 130, 500, 400) Draw.End
El siguiente pequeño ejemplo dibujará un cuadro y lo rellenará con color blanco.
PUBLIC SUB Button1_Click() Draw.Begin(DrawingArea1) Draw.FillColor = &HFFFFFF draw.FillStyle = 1 'draw.ForeColor = &HFFFFFF la línea del borde será también blanco Draw.Rect (100, 100,200,200) Draw.End END
El programa Espiral
[editar]Este programa te muestra un buen espiral. No hay coando escalar en Gambas (al menos, no aún). Así que las coordenadas x e y son trandformadas en el programa. El rango del sistema de coordenadas de xmin = -2 a max = 2 y ymin = - a ymax = 2.
Necesitas un Drawingarea y un Commandbutton para hacer este ejemplo.
¿Cómo lo ves? See [1]
El código:
PUBLIC SUB Button1_Click() DIM dymax AS Integer DIM dymin AS Integer DIM ymax AS Integer DIM ymin AS Integer DIM y AS Float DIM dy AS Float DIM dyi AS Integer DIM dxmax AS Integer DIM dxmin AS Integer DIM xmax AS Integer DIM xmin AS Integer DIM x AS Float DIM dx AS Float DIM dxi AS Integer DIM k AS Float DIM a AS Float DIM w AS Float dymax = DrawingArea1.Height dymin = 0 ymax = 2 ymin = -2 dxmax = DrawingArea1.Width dxmin = 0 xmax = 2 xmin = -2 'El eje x es dibujado FOR x = xmin TO xmax STEP 0.005 y = 0 dy = CFloat(y - ymin) / (ymax - ymin ) * (dymax - dymin) + dymin dx = CFloat(x - xmin) / (xmax - xmin ) * (dxmax - dxmin) + dxmin dyi = Fix(dy) dxi = Fix(dx) Draw.Begin(DrawingArea1) Draw.Point(dxi,DrawingArea1.Height- dyi) Draw.End NEXT 'El eje y es dibujado FOR y = ymin TO ymax STEP 0.005 x = 0 dy = CFloat(y - ymin) / (ymax - ymin ) * (dymax - dymin) + dymin dx = CFloat(x - xmin) / (xmax - xmin ) * (dxmax - dxmin) + dxmin dyi = Fix(dy) dxi = Fix(dx) Draw.Begin(DrawingArea1) Draw.Point(dxi,DrawingArea1.Height- dyi) Draw.End NEXT 'Aquí empieza el espiral FOR k = -100 TO 150 STEP 0.5 a = 0.97 'Distancia de 0,0 al punto w = 0.15 'Ángulo bajo el cual el punto es visto del original a = a ^k w = w * k x = a * Cos(w) 'la coordenada x de cada punto y = a * Sin(w) 'la coordenada y de cada punto dy = CFloat(y - ymin) / (ymax - ymin ) * (dymax - dymin) + dymin dx = CFloat(x - xmin) / (xmax - xmin ) * (dxmax - dxmin) + dxmin dyi = Fix(dy) dxi = Fix(dx) Draw.Begin(DrawingArea1) Draw.Point(dxi,DrawingArea1.Height- dyi) Draw.End NEXT END
Retrieved from "http://en.wikibooks.org/w/index.php?title=Gambas/Graphics&oldid=1359953"