web-dev-qa-db-fra.com

Écraser l'image existante

J'ai ce code 

    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();
    }

j'ai déjà une image t.jpg sur mon lecteur "c: \" .
Je voulais la remplacer par une nouvelle image à chaque exécution de mon programme. mais une erreur GDI + apparaît
Comment pourrais-je résoudre ce problème?

23
Ozarraga_AB

Vous devez supprimer votre image si celle-ci existe déjà. 

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();
    }
34
Chuck Norris
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();
    }           
}

Celui-ci a fonctionné pour moi.

0
rillakkuma