12/12/05

Crear un jpg desde C#


System.Drawing.Bitmap b = new System.Drawing.Bitmap(200,200);
System.Drawing.Graphics g = Graphics.FromImage(b);
g.DrawString("hola",new System.Drawing.Font("Arial",20),System.Drawing.Brushes.Red,new System.Drawing.Rectangle(0,0,100,100));
b.Save("c:\\borrame.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
b.Dispose();

2 comentarios:

Unknown dijo...

Buenas. Yo lo he hecho parecido por mi cuenta. pero tengo que cerrar la aplicación para abrir la imagen. No se que control es el que lo sigue usando y como liberarlo. Tal vez me puedas ayudar. c_generico es un Chart donde tengo graficado unas estadisticas que intento guardar en la imagen. Lo hace todo pero me queda algo usando la imagen que guardo.
using (System.Drawing.Bitmap ImagenPanel = new Bitmap(c_generico.Width, c_generico.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb))
{
using (System.IO.MemoryStream STREAM = new System.IO.MemoryStream())
{
c_generico.DrawToBitmap(ImagenPanel, new Rectangle(0, 0, p_interiorIzquierdo.Width, p_interiorIzquierdo.Height));
using (SaveFileDialog frm = new SaveFileDialog())
{
frm.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp";
frm.Title = "Guardar imagen";
frm.FileName = "Nueva Imagen";
frm.ShowDialog();
if (frm.FileName != null)
ImagenPanel.Save(frm.OpenFile(), System.Drawing.Imaging.ImageFormat.Bmp);
STREAM.Close();
ImagenPanel.Dispose();
}
}
}
todo esto en un evento click de boton

Iván Cruz dijo...

Lo siento. Por no ver el correo del comentario hasta ahora, y por no poder ayudarte.
No veo el problema. Quizá esté en otro sitio.
De hecho ...

STREAM.Close();
ImagenPanel.Dispose();

... deberían ser redundantes.
Despues del los using el fichero debería estar accesible.
Espero que ya lo hayas solucionado.
Un saludo