Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Ejemplos De La Clase Paint. Painting

Ejemplos De La Clase Paint. Painting
Artículo
Responder citando    Descargar mensaje 
Mensaje Ejemplos De La Clase Paint. Painting 
 
Buenas!.

Veréis, estuve viendo un poco de Cairo y los ejemplos de la web. Son iguales ( casi ) a los de nuestro ejemplo Painting en Gambas.
Parece que lo modificaron ciertas cosas. Por ejemplo el ejemplo del arco en el de gambas, el arco está invertido.
Pero eso no es todo. Hay cosas que en el ejemplo de gambas no he llegado a comprender. ( Es que no hace nada , ademas de ampliar el código ).  

Este es el ejemplo del arco en Painting.
Public Sub Example1()

  Dim XC As Float = 128
  Dim YC As Float = 128
  Dim Radius As Float = 100
  Dim Angle1 As Float = Rad(-45)
  Dim Angle2 As Float = Rad(-180)
  Dim X, Y As Float
  
  Paint.LineWidth = 10
  Paint.Arc(XC, YC, Radius, Angle1, Angle2 - Angle1)
  Paint.Stroke
  
  'Draw helping Lines
  Paint.LineWidth = 6.0
  Paint.Brush = Paint.Color(Color.RGB(255, 0.2 * 255, 0.2 * 255, 0.6 * 255))
  
  Paint.Arc(XC, YC, 10.0)
  Paint.Fill
  
  Paint.Arc(XC, YC, Radius, Angle1, 0)
  X = Paint.X
  Y = Paint.Y
  Paint.Arc(XC, YC, Radius, Angle2, 0)
  Paint.LineTo(XC, YC)
  Paint.LineTo(X, Y)
  Paint.Stroke

End
 


La salida es esta:

 arco_codigo_painting

Bien. Este es el ejemplo que he traducido de los ejemplos de Cairo. El mismo, el del arco.

'Recordar siempre que el punto 0,0 es la esquina superior izquierda
'Cuando  traza el arco es igual, hacia abajo

Public Sub Dibujar()
  
  Dim xc As Float = 128
  Dim yc As Float = 128
  Dim radius As Float = 100
  Dim angle1 As Float = Rad(45)
  Dim angle2 As Float = Rad(180)
  
  Me.Title = "Arco"
  
  'Ancho de la linea
  Paint.LineWidth = 10
  'Dibuja el arco desde 45º hasta 180º
  Paint.Arc(xc, yc, radius, angle1, angle2 - angle1)
  Paint.Stroke
  
 ' La brocha con el color que vamos a pintar y el tamaño del pincel
  Paint.Brush = Paint.Color(Color.RGB(255, 255 * 0.2, 255 * 0.2, 255 * 0.6))
  Paint.LineWidth = 6
  
  'Dibuja el circulo pequeño
  Paint.Arc(xc, yc, 10.0)
  Paint.Fill
    
  'Posiciona el cursor (No dibuja circulo)
  Paint.Arc(xc, yc, radius, angle1, 0)
  
  'Traza la linea desde la posicón del cursor a la coordenada xc,yc
  Paint.LineTo(xc, yc)
  
  'Posiciona el cursor (No dibuja circulo)
  Paint.Arc(xc, yc, radius, angle2, 0)
  'Traza la linea desde la posicón del cursor a la coordenada xc,yc
  Paint.LineTo(xc, yc)    
  Paint.Stroke
  
End

Public Sub drw_Draw()
  
  Dibujar()
  
End
 


La salida fue esta:

 ejemploimplementadodecairo

Ok, nuestros compañeros y maestros querían el arco invertido.
Peeero. Hay algo en el código del ejemplo en gambas de nuestros maestros, que no tiene uso.  
La variable X e Y y el trazado de la línea. No son necesarias..entonces..?

A ver si vosotros le veis algo distinto.

La idea es buena si quieres saber el ultimo punto donde se ha dibujado. Pero por lo demás en el ejemplo..
¿ Código redundante ?

Saludos



 
última edición por Shell el Jueves, 17 Diciembre 2015, 22:05; editado 3 veces 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Jueves, 17 Diciembre 2015, 21:59 ]
 


Ejemplos De La Clase Paint. Painting
Comentarios
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron