https://foro.gambas-es.org/viewtopic.php?f=1&t=4406&p=25120#p25120
-----------------------------------
Alaplancha
Domingo, 22 Febrero 2015, 17:32

Re: Clase Paint, Empalmar Arcos Con Segmentos Y Rellenar Con Fill
-----------------------------------
Hola de nuevo Shell, y de nuevo gracias por tu tiempo e interés,

espero que esto no llegue a ser un problema internacional  :mryellow: ya tiene el mundo muchos problemas.

No tengo urgencias de tiempo, es sólo que estaba haciendo un programilla para mí mismo y me encontré con este problemilla.

La clase Paint utiliza precisión Float, creo, ya que miré en la documentación y Paint.X, Paint.Y, Paint.LineTo, Paint.Arc, etc. manejan parámetros de tipo Float. De todos modos he probado a dibujar por si acaso haciendo Int() en los argumentos de cualquier llamada a Paint.LineTo o Paint.Arc y nada, el problema continúa.

El asunto es que si sólo fuese una poligonal de segmentos de línea todo saldría bien, ya que Paint.MoveTo ( X As Float, Y As Float ) añade un segmento tomando como origen las coordenadas donde nos quedamos anteriormente (Paint.X, Paint.Y) y como destino los argumentos que le pasamos X, Y. En cambio el procedimiento Paint.Arc no es algo así como Paint.ArcTo, es decir, que no comienza en donde nos quedamos anteriormente (Paint.X, Paint.Y). El arco no sabemos nunca dónde comienza, aunque sí sabemos donde termina, ya que al hacer Paint.Arc las coordenadas del final del arco quedan almacenadas en Paint.X y Paint.Y. Lo cual quiere decir que si después de un arco dibujamos un segmento, sí que quedan bien soldados (punto 2 del dibujo ejemplo). 

Segmento --> Segmento   Bien, se sueldan
Segmento --> Arco           Mal, no se sueldan (Punto 1)
Arco --> Segmento           Bien, se sueldan (Punto 2)
Arco --> Arco                   Mal, no se sueldan

Si meto un Paint.Closepath al final, otro desastre, me une los dos extremos del último arco.

En fin, ya empiezo a ver arcos y flechas por todas partes, y no es un ataque de hiperactividad de Cupido, cielos.

Saludos


