2010-11-22 10 views
1

に有効な例外ではありませんexception..Whileは画像ここパラメータは、私は、パラメータを取得していますWinフォーム

を保存し、有効ではありません私のコードは、画像

if (!File.Exists(pictureBox1.Tag.ToString())) 
{ 
    Image image = pictureBox1.Image; 
    image.Save(pictureBox1.Tag.ToString(), ImageFormat.Jpeg); 
} 
else 
{ 
    string delStr = pictureBox1.Tag.ToString(); 
    pictureBox1.Image.Dispose(); 
    File.Delete(delStr); 
    Image image = pictureBox1.Image; 
    image.Save(delStr, ImageFormat.Jpeg); 
    pictureBox1.Image = Image.FromFile(delStr); 
} 
+1

例外の詳細を教えてください(フルメッセージなど)*および* if/elseステートメントのどのブランチからのものか。 –

+0

image.save()でエラーが発生しました...同じ名前の画像を保存したい – Daksh

答えて

1

を保存することです私は見ています正しく?画像を保存する前に処分していますか?だからここにあなたの問題の場合:あなたのelseブランチで

pictureBox1.Image.Dispose(); // THIS !!!!!! Just remove this line or move it to after save 
Image image = pictureBox1.Image; 
image.Save(delStr, ImageFormat.Jpeg); 
+0

私はそれを処理しないと...それは私がそれがいくつか使用されているので、私はそれを削除することはできませんエラーを与えるプロセス...私がやってみたいのは、同じ名前の画像を保存することです。ファイルダイアログを保存しないでください。 – Daksh

+0

@Hasanはおそらく理由を洞察できますか?あなたはまだ、どのパラメータがエラーを出すのかを教えてくれません。 –

+0

image.Save(delStr、ImageFormat.Jpeg)ここでエラーが発生します – Daksh

3

、あなたはImageDispose()を呼び出すことによって開始し、その後、あなたはそれを保存しよう。 Dispose方法は 使用できない状態にImageを残し

:ので、それはおそらく、動作することはできません。

たぶんあなたがやってみたかった:

string delStr = pictureBox1.Tag.ToString(); 
File.Delete(delStr); 
Image image = pictureBox1.Image; 
image.Save(delStr, ImageFormat.Jpeg); 
image.Dispose(); 
pictureBox1.Image = Image.FromFile(delStr); 

しかし、それはまだ非常にファイルそれだけに保存​​されているので、それは非常に有用ではないのですからImageをリロードます。あなたのような何かしようとする場合があります:

string filename = pictureBox1.Tag.ToString(); 
if (File.Exists(filename) { 
    File.Delete(filename); 
} 
pictureBox1.Image.Save(filename, ImageFormat.Jpeg); 

をしかし、その後、再び、Image.Save()はとにかくファイルが上書きされます...だからあなただけ実行する必要があります。

pictureBox1.Image.Save(pictureBox1.Tag.ToString(), ImageFormat.Jpeg); 
+0

プロセスは 'C:\ Documents and Settings \ All Users \ Documents \ My Pictures \ Sample Pictures \ Test.jpg'ファイルにアクセスできません。別のプロセスで使用されています。 – Daksh

+0

このエラーが発生しました – Daksh

+0

@ hasan、あなたはプログラムを実行している間に画像ファイルをいくつかのエディタで開いていますか? –

関連する問題