miércoles, 14 de octubre de 2009
GDI+ Drawing ASP NET Cuaros, circulos, graficas (pie,square,elipse)
Seguramente mas de algun día tendran la necesidad de crear cuadros o graficas de pie en una pagina asp net que sea dinamica, bueno con la libreria GDI+ Drawing lo pueden lograr.En este primer ejemplo vamos hacer un cuadro y una linea.
Lo primero es llamar las librerias siguiente:
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Text;
ahora en el evento load de su pagina ingrese el siguiente codigo:
protected void Page_Load(object sender, EventArgs e)
{
Bitmap objBitmap; //inicio del objeto
Graphics objGraphics;
objBitmap = new Bitmap(400, 440); // tamaño que ocupara en la pagina
objGraphics = Graphics.FromImage(objBitmap);
objGraphics.Clear(Color.White); // Color de fondo de la pantalla
Pen p = new Pen(Color.Yellow, 0); // color de la linea del circulo.
Rectangle rect = new Rectangle(0, 0, 100, 50); // creado el cuadro
objGraphics.DrawRectangle(p, rect); // enviando a pantalla el cuadro
objGraphics.DrawLine(p,0,0,100,100); // creando linea
//enviando a pantalla atraves de una imagen.
objBitmap.Save(Response.OutputStream, ImageFormat.Gif);
objBitmap.Save(Server.MapPath("x.jpg"), ImageFormat.Jpeg);
objBitmap.Dispose();
objGraphics.Dispose();
}
el resultado esto sera asi:
si quiere un elipse solo tiene que cambiar
objGraphics.DrawRectangle(p, rect);
por
objGraphics.DrawEllipse(p, rect);
y tendran un circulo al lugar de un cuadro
ahora que estan listo para un ejemplo de verdad voy a crear pie con letras y colores.
para probarlo solo copien el siguiente codigo en su evento load.
no olvide agregar las librerias:
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Text;
//codigo del load
Bitmap objBitmap;
Graphics objGraphics;
objBitmap = new Bitmap(400, 440);
objGraphics = Graphics.FromImage(objBitmap);
objGraphics.Clear(Color.White);
Pen p = new Pen(Color.Yellow, 0);
Rectangle rect = new Rectangle(10, 10, 280, 280);
objGraphics.DrawEllipse(p, rect);
Brush b1 = new SolidBrush(Color.Red);
Brush b2 = new SolidBrush(Color.Green);
Brush b3 = new SolidBrush(Color.Blue);
objGraphics.FillPie(b1, rect, 0f, 60f);
objGraphics.FillPie(b2, rect, 60f, 150f);
objGraphics.FillPie(b3, rect, 210f, 150f);
FontFamily fontfml = new FontFamily(GenericFontFamilies.Serif);
Font font = new Font(fontfml, 16);
SolidBrush brush = new SolidBrush(Color.Blue);
objGraphics.DrawString("Mi Primer PIE =)", font, brush, 70, 300);
objBitmap.Save(Response.OutputStream, ImageFormat.Gif);
objBitmap.Save(Server.MapPath("x.jpg"), ImageFormat.Jpeg);
objBitmap.Dispose();
objGraphics.Dispose();
el resultado es así:
Bueno espero que les sirva de algo.
Este post es para mi amigo Fernando, espero que te ayude con tu clavo.
Suscribirse a:
Comentarios de la entrada (Atom)
1 comentario:
Excelente, gracias
Publicar un comentario