Сохранение изображения из PictureBox - PullRequest
0 голосов
/ 14 марта 2019

Я уже проверил на "дубликаты вопросов".Ни у кого из них нет ответа на этот вопрос, за исключением, может быть, этого , и этот вопрос не работает полностью в моем случае.

Я хочу просто сохранить изображение pictureBox в файл.

Сначала я попробовал

if (picBoxImage.Image == null) return;

//Here we select to create a file
string fileName;
saveFileDialog1.Filter = "BMP (*.bmp)|*.bmp";
saveFileDialog1.FileName = "";

if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
    fileName = saveFileDialog1.FileName;
}
else
{
    return;
}
Trace.WriteLine(fileName);

picBoxImage.Image.Save(fileName, ImageFormat.Bmp);

Это дало мне исключение (известное исключение CGi)

Так что теперь я пытаюсь, и это работает

using (Bitmap bitmap = new Bitmap(picBoxImage.Width, picBoxImage.Height))
{
    using (Graphics graphics = Graphics.FromImage(bitmap))
    {
        graphics.Clear(Color.Transparent);
        //graphics.DrawImage(picBoxImage.Image, (bitmap.Width - picBoxImage.Image.Width) / 2, (bitmap.Height - picBoxImage.Image.Height) / 2);
         graphics.DrawImage(picBoxImage.Image, 0, 0,picBoxImage.Width,picBoxImage.Height);
    }

    bitmap.Save(fileName, ImageFormat.Bmp);
}

Мой вопрос: почему не работает метод Save Image of PictureBox?И зачем нужна графика

...