Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Para pintar los grficos (incluyendo texto), as como para mostrar los elementos que componen
la interfaz de usuario, Windows utiliza la interfaz de dispositivos grficos GDI+ (Graphics Device
Interface), la cual se encarga de llamar a las rutinas de los distingos gestores de dispositivo que
son las que directamente actan sobre el dispositivo
Como gran parte de la programacin grafica tradicional est basada exclusivamente en vectores,
pero los dispositivos de salida grficos en su mayora utilizan pixeles, es por eso, que la GDI+
ha sido escrita para ser utilizada como un sistema de alto nivel y tambin para manipular puntos
(pixeles) bajo nivel
Otro punto tiene que ver con la resolucin grfica de los dispositivos y la capacidad de color. Para
que una aplicacin se ajuste a diferentes adaptadores de video con diferentes resoluciones el
lenguaje grfico tiene que proporcionar herramientas para poder determinar las caractersticas del
hardware, es por eso que la GDI+ se ha construido para que el usuario no tenga que preocuparse
por este punto.
SERVICIOS GDI+
Los servicios de GDI+ engloban tres amplias categoras: grficos vectoriales 2D, imgenes y
tipografa
Los grficos vectoriales estn relacionado con el dibujo de tipos primitivos (como lneas, curvas
y figuras) que se especifican mediante conjuntos de puntos en un sistema de coordenadas. Para
realizar estos grficos, el GDI+ proporciona clases y estructuras que realmente realizan el dibujo.
Por ejemplo, la estructura Rectangle almacena la ubicacin y el tamao de un rectngulo; la clase
Pen almacena informacin sobre el color, ancho y estilo de lnea; por otro lado la clase Brush
almacena informacin sobre el color de fondo y la clase Graphics proporciona los mtodos para
dibujar lneas y otras figuras.
Por otra parte, imgenes como las mostradas por los botones de una barra de herramientas, o bien
una fotografa digital, son tipos de imgenes que dependiendo de los casos, son muy difciles de
mostrar o simplemente no se pueden con las tcnicas de grficos vectoriales. Por eso, estas se
almacenan como mapas de bits (matrices de nmeros que representan los colores de puntos
individuales de la pantalla). GDI+ proporciona la clase Bitmap para mostrar, manipular y guardas
mapas de bits.
Finalmente, la tipografa se ocupa de la presentacin de texto en diversas fuentes, tamaos y
estilos
Todos los servicios de GDI+ son suministrados por un amplio conjunto de clases, estructuras y
enumeraciones agrupadas en los siguientes espacios de nombres:
GRAPHICS
La clase Graphics es la base de la funcionalidad proporcionada por la GDI+ esta es la clase que
realmente dibuja lneas, curvas, figuras entre otras cosa
Antes de empezar a dibujar, se debe elegir la superficie en la que
se quiere dibujar, el tipo de forma que se desea dibujar y los
instrumentos necesarios para la realizacin de este.
Graphics g = this.CreateGraphics();
Pen lapizAzul = new Pen(Color.Blue);
Point puntoA = new Point(10, 10);
Point puntoB = new Point(200, 100);
g.DrawLine(lapizAzul, puntoA, puntoB);
La primera sentencia elige la superficie correspondiente al objeto this para dibujas. La sentencia
siguiente crea un lpiz azul. Las dos sentencias siguientes definen los extremos de la lnea a
dibujar, las coordenadas estn expresadas en pixeles. Y la ltima sentencia dibuja una lnea
llamando al mtodo DrawLine este mtodo acepta como primer parmetro el instrumento con el
que se dibujara y como siguientes parmetros los puntos que definen la lnea a dibujar
Todas las coordenas se expresan por defecto en pixeles, aunque, es posible especificar las
coordenadas en otras unidades, dependiendo de lo que se esta dibujando y dejar que la GDI+ las
convierta en pixeles antes de dibujar
El sistemas de coordenas predeterminado tiene
el origen en la esquina superior izquierda de la
superficie de dibujo, con el eje X apuntando hacia la
derecha y el eje Y apuntando hacia abajo
OBJETO GRAPHICS
El objeto Graphics es la superficie de dibujo. Cada control sobre el que se puede dibujar expone
su superficie a travs de un objeto Graphics
Para recuperar el objeto Graphics de un objeto hay que invocar el mtodo CreateGraphics de ese
ese objeto
Graphics g = this.CreateGraphics();
Una vez realizadas las operaciones anteriores, la aplicacin podr dibujar sobre la superficie
representada por el objeto Graphics. Por ejemplo:
private void btDibujar_Click(object sender, EventArgs e)
{
Graphics g = CreateGraphics();
g.DrawLine(Pens.Blue, 10, 10, 200, 100);
}
El mtodo apropiado para iniciar el objeto Graphics e insertar el cdigo de dibujo es el controlador
del evento Paint del objeto al que corresponde la superficie de dibuj0, ya que este evento es
generado por un objeto cada vez que necesita repintarse
OBJETO COLOR
El objeto Color del espacio de nombres System.Drawing representa un color por ejemplo
public Form1()
{
InitializeComponent();
}
El ejemplo anterior define un color para el fondo de un objeto y otro para el primer plano, como
atributos de la clase Form1. Despues inicia ambas variables en el controlador del evento Load
del formulario con los colores gris y negro. Finalmente, en el mismo controlador, establece el
color de fondo del control PictureBox1 (propiedad BackColor).
OBJETO PEN
Todos los mtodos de dibujo de la clase Graphics operan junto con un objeto Pen; esto es, para
dibujar cualquier forma, deben crearse como mnimo un objeto Graphics para definir la superficie
de dibujo y un objeto Pen que defina el color y el ancho de lnea del elemento que se va a dibujar
OBJETO BRUSH
Cuando se dibuja una forma, por ejemplo un rectngulo, se rellena con color de fondo actualmente
establecido. Para rellenarla con otro color Solido, con un patrn o con un mapa de bits hay que
crear una brocha o pincel y aplicarlo a la forma invocando al mtodo adecuado