web-dev-qa-db-ja.com

既存の画像を上書き

私はこのコードを持っています

    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 +エラーが表示されます
どうすれば修正できますか?

24
Ozarraga_AB

画像が既に存在する場合は、削除する必要があります。

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

これは私のために働いた。

0
rillakkuma