Salut iam nouveau à C# et ont chargé l'image dans la zone d'image en utilisant menustrip et ont affiché du texte en utilisant picturebox_Paint et l'étiquette. maintenant j'ai essayé de sauver l'image (avec l'image et le texte) using l'événement d'enregistrement du menustrip. dans l'emplacement enregistré le fichier montre comme aucun aperçu disponible et quand j'ai essayé d'ouvrir le fichier, il montre de mémoire.l'image enregistrée dans la zone d'image ne montre aucun aperçu
peut-on dire où tout va iam worng ....
mes coades
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
string file = "";
OpenFD.FileName = "";
OpenFD.Title = "open image";
OpenFD.InitialDirectory = "C";
OpenFD.Filter = "JPEG|*.jpg|Bmp|*.bmp|All Files|*.*.*";
if (OpenFD.ShowDialog() == DialogResult.OK)
{
file = OpenFD.FileName;
pictureBox1.Image = Image.FromFile(file);
sz = pictureBox1.Size;
a=sz.Width; b= sz.Height;
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
switch (e.Button)
{
case MouseButtons.Left:
{
rect = new Rectangle(rect.Left, rect.Top, e.X - rect.Left, e.Y - rect.Top);
this.Invalidate();
y = flag.e;
Application.DoEvents();
break;
}
}
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
rect = new Rectangle(e.X, e.Y, 0, 0);
this.Invalidate();
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
using (Pen pen = new Pen(Color.Red, 2)) e.Graphics.DrawRectangle(pen, rect);
//e.Graphics.DrawString(label1.Text, label1.Font, new
// SolidBrush(label1.ForeColor), label1.Left - pictureBox1.Left, label1.Top - pictureBox1.Top);
if (label1.TextAlign == ContentAlignment.TopLeft)
{
e.Graphics.DrawString(label1.Text, label1.Font, new SolidBrush(label1.ForeColor), label1.Bounds);
}
else if (label1.TextAlign == ContentAlignment.TopCenter)
{
SizeF size = e.Graphics.MeasureString(label1.Text, label1.Font);
float left = ((float)this.Width + label1.Left)/2 - size.Width/2;
RectangleF rect1 = new RectangleF(left, (float)label1.Top, size.Width, label1.Height);
e.Graphics.DrawString(label1.Text, label1.Font, new SolidBrush(label1.ForeColor), rect1);
}
else
{
SizeF size = e.Graphics.MeasureString(label1.Text, label1.Font);
float left = (float)label1.Width - size.Width + label1.Left;
RectangleF rect1 = new RectangleF(left, (float)label1.Top, size.Width, label1.Height);
e.Graphics.DrawString(label1.Text, label1.Font, new SolidBrush(label1.ForeColor), rect1);
}
label1.Top = rect.Top; label1.Left = rect.Left; label1.Width = rect.Width;
label1.Height = rect.Height;
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog SaveFD1 = new SaveFileDialog();
//string Sd_file = "";
SaveFD1.FileName = "";
SaveFD1.InitialDirectory = "C";
SaveFD1.Title = "save file Name";
SaveFD1.Filter= "JPG|*.jpg|Bmp|*.bmp";
if (SaveFD1.ShowDialog() != DialogResult.Cancel)
{
System.IO.Stream filename = (System.IO.FileStream)SaveFD1.OpenFile();
if (SaveFD1.Filter == "JPG")
pictureBox1.Image.Save(SaveFD1.FileName);
//pictureBox1.Image.Save (filename, System.Drawing.Imaging.ImageFormat.Jpeg);
else if (SaveFD1.Filter == "Bmp")
{
//pictureBox1.Image.Save(filename, System.Drawing.Imaging.ImageFormat.Bmp);
}
filename.Close();
}
}
quelqu'un peut-il répondre à celui-ci ... – Nivas