Grabar contenido de un panel

06/10/2009 - 19:59 por Alberto | Informe spam
En un proyecto de prueba incluí un panel y dos botones. El primer botón
dibuja una línea en el panel y el otro botón graba el contenido de dicho
panel en un fichero. El código es el siguiente:

private void button5_Click(object sender, EventArgs e)

{

Graphics g = panel1.CreateGraphics();

g.DrawLine(new Pen(Brushes.Blue), new Point(0, 0), new Point(50, 50));

}

private void button4_Click(object sender, EventArgs e)

{

int width = panel1.Width;

int height = panel1.Height;

Bitmap bitMap = new Bitmap(width, height);

Rectangle rec = new Rectangle(0, 0, width, height);

panel1.DrawToBitmap(bitMap, rec);

bitMap.Save(@"C:/Windows/prueba.bmp");

}

El problema es que la línea no aparece en el fichero y no entiendo la razón.
¿Hay modo de solucionarlo? Muchas gracias
 

Leer las respuestas

#1 xcal
06/10/2009 - 23:27 | Informe spam
puede ser porque para
grabarlo precisarias tener algo como

bitMap = panel1.DrawToBitmap(bitMap, rec);

no se si mi codigo funciona
pero esa es la idea

espero ayude
Carlos

"Alberto" escribió en el mensaje
news:
En un proyecto de prueba incluí un panel y dos botones. El primer botón
dibuja una línea en el panel y el otro botón graba el contenido de dicho
panel en un fichero. El código es el siguiente:

private void button5_Click(object sender, EventArgs e)

{

Graphics g = panel1.CreateGraphics();

g.DrawLine(new Pen(Brushes.Blue), new Point(0, 0), new Point(50, 50));

}

private void button4_Click(object sender, EventArgs e)

{

int width = panel1.Width;

int height = panel1.Height;

Bitmap bitMap = new Bitmap(width, height);

Rectangle rec = new Rectangle(0, 0, width, height);

panel1.DrawToBitmap(bitMap, rec);

bitMap.Save(@"C:/Windows/prueba.bmp");

}

El problema es que la línea no aparece en el fichero y no entiendo la
razón. ¿Hay modo de solucionarlo? Muchas gracias


Preguntas similares