https://foro.gambas-es.org/viewtopic.php?f=5&t=8041
-----------------------------------
Shell
Martes, 12 May 2020, 10:30

Efectos Gráficos. Circulos Y Líneas
-----------------------------------
Buenas!.

Con la idea de de hacer algo distinto y recordar conceptos, estuve haciendo alguna cosilla que aunque pueda parecer
algo simple, los resultados son muy curiosos.

Tenemos una ventana en la que hacemos clic con el ratón en algún lugar de esta. Tantas veces como queramos. (Ojo con los excesos).
Se creará un círculo en ese punto. El círculo está formado por líneas del mismo tamaño ( no existe punto en Paint).

Este circulo se expandirá y sobrepasará el tamaño de la ventana y después de esto, cada punto que forma ese circulo se invertirá su 
coordenada,  estando constantemente en el área de dibujo. La función de módulo para tipo float que uso en la clase Línea,  la incorporé 
del ejemplo  de nuestro administrador que usó en su ejemplo SpaceShip (Aceleración y fricción) que a su vez forma parte de ejemplos
del curso de Python que hicimos hace ya unos años. :-)


En principio podemos usar una ventana:

 [img]https://foro.gambas-es.org/files/images/768/efectoscirculoapuntos.png[/img] 

O expandir el formulario y que la ventana donde se dibuja se expanda a todo nuestro escritorio..el efecto es muy peculiar. :-)
Los efectos no tienen límite. Ahora se me ocurre que cada punto podía rebotar....hasta el infinito y más allá!,  :-D 

Antes de ejecutar leer los comentarios.  Al menos para que no os paséis creando círculos.
Nunca me cansaré de hacer estas cosas, solo me lo impide un muro de realidad que desaparece en la imaginación.

Adjunto el código fuente:

Saludos


-----------------------------------
tercoIDE
Martes, 12 May 2020, 11:35

Re: Efectos Gráficos. Circulos Y Líneas
-----------------------------------
muy divertido! a mi me encantan todos los graficos

una cosa, la clase Paint fue hecha en base a la clase Cairo y funciona casi igual , porque no usarla?

Es algo asi:

Cairo --> Qt4/5 --> Paint 

me parece que Gambas Accede directamente a la clase Cairo, de ahi que es mucho mas rapida, pero tengo que chequearlo con Bennoit

de hecho le escribí en la lista pero todavía no obtuve respuesta


-----------------------------------
Shell
Martes, 12 May 2020, 14:05

Re: Efectos Gráficos. Circulos Y Líneas
-----------------------------------
tercoIDE:

[quote]
una cosa, la clase Paint fue hecha en base a la clase Cairo y funciona casi igual , porque no usarla?
[/quote]

Estuve con el ejemplo de comparación entre las dos clases que hiciste hace unos días.
Añadí el componente gb.cairo.

Logré hacer este  mismo ejemplo en Cairo, pero estoy algo verde comprendiendo Cairo.
Se que Paint se le parece, de ahí la facilidad. 

Se que Cairo dibuja en una imagen. Entonces debemos usar controles que soporten eso.
Cuando hiciste el ejemplo, se veían las barras de desplazamiento de ImageView.
Y cuando hice este ejemplo con Cairo me pasó igual..ademas se podía desplazar con el ratón..uf... :o 

Ahora estoy haciendo ejemplos simples con ImageView para entenderlo.  :-D 

¿ Te importaría crear otros ejemplos sencillos con Cairo ?. No te preocupes que sea un circulo o algo sencillo. 
Así lo vemos todos y creamos preguntas.  :roll:  :mrorange: 

Me quedo a la espera de la respuesta que te de el Gamba's Master. Estoy muy interesado en estos temas.

Saludos


-----------------------------------
tercoIDE
Martes, 12 May 2020, 14:33

Re: Efectos Gráficos. Circulos Y Líneas
-----------------------------------
Cairo dibuja en cualquier superficie, incluso en un objeto Image que este en la memoria, o sea invisible. Pseudocodigo:

[code linenumbers=false syntax=gambas]Dim imgEnMemoria as New Image(300,400) ' pixeles

Cairo.Begin(imgEnMemoria)
Cairo.Circle(200,200,50) ' dibujamos en una imagen que no esta a la vista ni en ningún control
Cairo.End

' suponiendo que tenemos un control ImageView1

ImageView1.Image = imgEnMemoria
Imageiew1.Refresh[/code]





ImageView es un contenedor de una Image, las barras son de Imageiew y no tienen nada que ver ni con la Image y mucho menos con Cairo. 

Yo creo que cuando la Imge que muestra ImageView es mas grande que su tamaño, le agrega las barras automáticamente.


-----------------------------------
Shell
Martes, 12 May 2020, 23:10

Re: Efectos Gráficos. Circulos Y Líneas
-----------------------------------
Mañana lo veo mejor. Ostras, ¿ cómo se han repetido y se muestran tres adjuntos en el primer mensaje...?... :o 

Voy a ver el primero. Curiosamente aparecían como tres veces el mismo adjunto, elimine uno y se fueron todos.
Así que tuve que subirlo de nuevo.  :? 

Saludos


