私はこれでかなりの問題を抱えています。これが私のコードです。
int frame = 0;
//This is a wpf button event
private void up_Click(object sender, RoutedEventArgs e)
{
frame++;
LoadPic();
}
private void LoadPic()
{
string fn = @"C:\Folder\image" + (frame % 2).ToString() + ".png";
Bitmap bmp = new Bitmap(302, 170);
bmp.Save(fn);
bmp.Dispose();
//Picebox is a wpf Image control
Picbox.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri(fn));
}
private void down_Click(object sender, RoutedEventArgs e)
{
frame--;
LoadPic();
}
プログラムを起動すると、wpf ウィンドウが開きます。コードに示されているイベントには 2 つのボタンがあります。
アップボタンを2回押すと正常に動作します。これにより、2 つの PNG がその場所に保存されます
「C:\Folder\image0.png」と「C:\Folder\image1.png」
ボタンを 3 回押すと、「C:\Folder\image0.png」に再度保存されます。代わりに、「GDI+ で一般的なエラーが発生しました」という例外が発生します。
以前にも同様の問題があり、次の2行を追加して解決しました。
GC.Collect();
GC.WaitForPendingFinalizers();
今回はうまくいきませんでした。