Перезаписать существующее изображение - PullRequest
23 голосов
/ 18 января 2012

У меня есть этот код

    private void saveImage()
    {
        Bitmap bmp1 = new Bitmap(pictureBox.Image);
        bmp1.Save("c:\\t.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
        // Dispose of the image files.
        bmp1.Dispose();
    }

у меня уже есть образ t.jpg на моем диске "c: \" .
Я хотел заменить его новым изображением каждый раз, когда запускается моя программа. но появляется ошибка GDI +
как я могу это исправить?

Ответы [ 2 ]

34 голосов
/ 18 января 2012

Вы должны удалить свое изображение, если оно уже существует.

private void saveImage()
    {
        Bitmap bmp1 = new Bitmap(pictureBox.Image);

       if(System.IO.File.Exists("c:\\t.jpg"))
              System.IO.File.Delete("c:\\t.jpg");

        bmp1.Save("c:\\t.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
        // Dispose of the image files.
        bmp1.Dispose();
    }
0 голосов
/ 06 августа 2016
private void saveImage(Image file, string filename){
    try
    {     
        if(Directory.Exists("filepath"+filename))
        {
            file.Dispose();
        }
        else
        {
            Directory.CreateDirectory("filepath"+filename);
            file.Save("filepath" + filename, Imageformat.Jpeg);
        }
    }   
    finally
    {
        file.Dispose();
    }           
}

Этот работал для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...