Visual CSharp .NET - Como guardar lo que dibujo sobre un panel en c#

 
Vista:
sin imagen de perfil

Como guardar lo que dibujo sobre un panel en c#

Publicado por Thania (2 intervenciones) el 22/05/2014 03:17:16
Hola estoy desarrollando un paint en c# para un proyecto escolar ;( y supongamos que ya dibuje sobre el panel y quiero ponerle un botón "guardar" como le hago o que código seria , por favor necesito el código, les pongo el código de todo mi programa porque ya eh investigado mucho para encontrar el código y cuando lo pongo me marca errores espero y me puedan ayudar y de ante mano gracias :) , pero aquí esta mi código:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Paint1
{
public partial class Form1 : Form
{
private SolidBrush mibrocha;
private Graphics migrafica;


private bool pintando = false;

public Form1()
{
InitializeComponent();
}

private void panel2_Click(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
mibrocha.Color = colorDialog1.Color;
}

}

private void Form1_Load(object sender, EventArgs e)
{
mibrocha = new SolidBrush(panel2.BackColor);


}

private void panel1_MouseDown(object sender, MouseEventArgs e)
{
pintando = true;
}

private void panel1_MouseUp(object sender, MouseEventArgs e)
{
pintando = false;
}

private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (pintando == true)
{
migrafica = panel1.CreateGraphics();
migrafica.FillEllipse(mibrocha, e.X, e.Y, trackBar1.Value, trackBar1.Value);
{

}
}
}

private void Limpiar_Click(object sender, EventArgs e)
{
Graphics g1 = panel1.CreateGraphics();
g1.Clear(panel1.BackColor);
}

private void button1_Click(object sender, EventArgs e)
{
this.Close();
}

private void button2_Click(object sender, EventArgs e)
{
colorDialog1.ShowDialog();
panel1.BackColor = colorDialog1.Color;
}



private void button3_Click(object sender, EventArgs e)
{
mibrocha.Color = panel1.BackColor;
}

private void button4_Click(object sender, EventArgs e)
{
{
Form2 frm = new Form2();
frm.Show();
}
}

private void button5_Click(object sender, EventArgs e)
{
{
Form3 frm = new Form3();
frm.Show();
}
}

}

}
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

Como guardar lo que dibujo sobre un panel en c#

Publicado por omar (14 intervenciones) el 22/05/2014 03:30:28
Se debe guardar en formato de imagen
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como guardar lo que dibujo sobre un panel en c#

Publicado por Pico (29 intervenciones) el 22/05/2014 09:02:11
Hay muchas maneras de hacerlo. La que seguramente sea más sencilla:

- creas un Rectangle del tamaño del panel
- creas un Bitmap del tamaño del Rectangle
- usas el DrawToBitmap del panel para pasarlo al Bitmap
- grabas el Bitmap con Save

1
2
3
4
5
6
7
void ControlABmp(Control ctrl, string filename)
            {
                Rectangle sourceRect = ctrl.ClientRectangle;
                Bitmap img = new Bitmap(sourceRect.Right, sourceRect.Width);
                ctrl.DrawToBitmap(img, sourceRect);
                img.Save(filename);
            }

A esa función le pasas el panel, el nombre del archivo y te lo graba en bmp.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar