C sharp - Save dibujo en Panel

 
Vista:
sin imagen de perfil

Save dibujo en Panel

Publicado por gesb79 (1 intervención) el 23/11/2015 05:38:43
Estoy tratando de guardar lo que dibujo en un panel en C# 2012

El problema que tengo es que se guarda en blanco , el codigo que utilizo es el siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
private void panel1_MouseDown(object sender, MouseEventArgs e)
        {
            paint = true;
        }
 
 
        private void panel1_MouseMove(object sender, MouseEventArgs e)
        {
            try
            {
 
                if (paint)
                {
 
                    color = new SolidBrush(Color.Black);
                    Graphics g = panel1.CreateGraphics();
                    g.FillEllipse(color, e.X, e.Y, 5, 5);
                    g.Dispose();
 
                }
            }
            catch (Exception error)
            {
                MessageBox.Show(error.ToString());
                throw;
            }
        }
 
        private void panel1_MouseUp(object sender, MouseEventArgs e)
        {
 
            paint = false;
        }
 
//ESTE ES LA ACCION DE GUARDAR
 private void btnSave_Click(object sender, EventArgs e)
        {
 
            //string location ="c:\\temp\\firma4.bmp";
            using (Bitmap bitmap = new Bitmap(panel1.ClientSize.Width,
                                   panel1.ClientSize.Height))
            {
                panel1.DrawToBitmap(bitmap, panel1.ClientRectangle);
                bitmap.Save("c:\\temp\\firma4.bmp", ImageFormat.Bmp);
            }
 
        }


Agradezco cualquier comentario
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Save dibujo en Panel

Publicado por Requeteprogramador (115 intervenciones) el 23/11/2015 09:30:17
A ver si es verdad que lo agradeces.

Lo que haces está mal (qué novedad, si no funciona...). Está mal la manera de hacerlo pero sobre todo está mal el concepto. Lo que esté pintado en un panel o en cualquier ventana de Windows depende del momento, o puede que no haya nada pintado, así que no sabes lo que estás guardando. Lo que quieres hacer se hace pintando en el bitmap que guardas, mostrándolo en el panel o en la ventana que sea cuando quieras, y guardándolo cuando quieras. Así funciona de maravilla todo, no sólo lo que dices, porque lo que tienes ahora da más problemas que el que cuentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar