Ejemplo C#, Cairo, Gtk

Tengo algunos ejemplos escritos es C# con Mono, Gtk y Cairo. La mayoría los saque de otras páginas web, estaban escritos en C y los traduce a C#, y algunos los animé, para aprender.

Adjunté un link, archivo Zip que contiene los ejemplos: ejemplos en C# sobre los delegados y eventos; también ejemplos con MonoDevelop 1.0; y ejemplos que tratan de la librería Cairo.

En este Link: Aquí

Estas son las fotos de algunos de los ejemplos:



A continuación comentaré algunas partes del código, de el ejemplo Arc.cs

Arc.cs

La parte del código que quiero enfatizar:

01 c.LineWidth = 10.0;
02 c.Arc (xc, yc, radio, angulo1, angulo2);
03 c.Stroke ();
04
05 c.SetSourceRGBA (1.0,0.0,0.0,0.8);
06 c.LineWidth = 6.0;
07
08 c.Arc (xc, yc, 10.0, 0, 2 * System.Math.PI);
09 c.Fill ();
10
11 c.Arc (xc, yc, radio, angulo1, angulo1);
12 c.LineTo (xc, yc);
13 c.Arc (xc, yc, radio, angulo2, angulo2);
14 c.LineTo (xc, yc);
15 c.Stroke ();

(c.LineWidth = 10.0;) (01 línea)

La primera linea es una propiedad referenciada en modo escritura. Define el tamaño de la línea para luego escribir en el ‘destino’ con el método Stroke ()(El ‘destino’ es la superficie sobre la cual se dibuja)

(c.Arc (xc, yc, radio, angulo1, angulo2);) (02 línea)
La segunda línea en el código fuente le e definido los siguientes argumentos:
xc = yc = 128.0;
radio = 100.0;
angulo1 = 45 * (System.Math.PI / 180.0);
angulo2 = 180 * (System.Math.PI / 180.0);

Donde ‘xc’ y ‘yc’ son las posiciones del centro del arco. ‘xc’ es la columna y ‘yc’ es la fila.

En el caso de la variable de tipo double con los identificadores ‘angulo1’ y ‘angulo2’ son las que definen el tamaño del angulo. Desde el punto ‘angulo1’ o ‘angulo2’. Por que hacerlo así en vez de indicarlo con los grados, la verdad que no tengo idea. Tal vez sea un buen abito hacerlo así, de todos modos no se puede hacer con los grados.

(c.Stroke ();) (03 línea)
La tercera línea contiene método de una instancia de la clase Context, que imprime en el destino con las característica indicadas anteriormente. El color pasa por la máscara, y luego se imprime en el destino.

(c.SetSourceRGBA (1.0,0.0,0.0,0.8);) (05 línea)
Este método selecciona el color. El color se va modificando por los tres colores básicos, que son los tres primeros argumentos: Rojo, Verde, Azul y el último argumento es el grado de trasparencia el denominado Apha. ¿Por que RGBA? la respuesta es simple: Red, Green, Blue y Alpha.

(c.LineWidth = 6.0c.LineTo (xc, yc);;) (06 línea)
Definimos de nuevo el tamaño.

(c.Arc (xc, yc, 10.0, 0, 2 * System.Math.PI);) (08 línea)
Crea un circulo con el radio 10.0, que tiene 360º.

(c.Fill ();) (09 línea)
Rellena el circulo creado anteriormente con el color rojo, definido antes. Creo que debo indicar que la linea 06 no a tenido ningun efecto hasta la linea 09.

(c.Arc (xc, yc, radio, angulo1, angulo1);)) (11 línea)
Se mueve el lápiz a un solo punto de este arco, ya que el 4º y 5º argumento son lo mismo. En realidad esto no es un arco solo se hace referencia al punto de un arco.

(c.LineTo (xc, yc);) (12 línea)
Dibuja una línea desde el punto anterior hasta ‘xc’ y ‘yc’, se ve como el centro del arco.

(14 y 15 línea)
Las líneas 14 y 15 hacen algo parecido a las líneas 11 y 12, pero con otro extremo del arco.

Esto es todo, solo espero que a alguien le alla servido.

This entry was posted in Todos and tagged , , , by Matías Muñoz Espinoza. Bookmark the permalink.

About Matías Muñoz Espinoza

Mi nombre es Matías Muñoz Espinoza, vivo en Chile. Este blog trata de temas de reflexión y pensar. También me gusta la informática, pero para eso tengo una web con algunos amigos http://elementalcode.net en la cual me dedico a la creación de videos tutoriales y algunos artículos relacionados con informática en general.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s