Gambas/Dibujar
Si quieres producir algún gráfico en gambas deberías usar el control drawingarea.
Dibujar una Línea
editarEste 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
editarEste 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"