0

ファイルを無限に保存できます。ファイルを無限に開くことができます。そして、ファイルを保存して開くことができます。

ただし、ファイルを開いた後、ファイルを保存できません。次のエラーが表示されます。

System.Drawing.dll で、タイプ 'System.Runtime.InteropServices.ExternalException' の初回例外が発生しました

追加情報: GDI+ で一般的なエラーが発生しました。

ビットマップを破棄して一時的にしようとしましたが、うまくいかなかったようです。ファイルを開いて保存している場所も同じなので、ファイルの上書きが原因ではないでしょうか?私のプログラムは常にtemp.saveで壊れます

private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //Graphics.FromImage(bmap).Dispose();
            using (Graphics g = Graphics.FromImage(bmap))
            {

                bmap = new Bitmap(@"C:\Users\Nick\final.bmp");
                g.DrawImage(bmap, panel1.Width, panel1.Height);
            }
            panel1.Invalidate();
        }
 private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Graphics g = Graphics.FromImage(bmap);
            temp =new Bitmap(bmap);
            //Graphics.FromImage(bmap).Dispose();
            try
            {
                g.Dispose();          
                temp.Save(@"C:\Users\Nick\final.bmp", ImageFormat.Bmp);
            }
            catch (UnauthorizedAccessException ex)
            {
                Console.WriteLine(ex.Message); ;
            }
            catch (System.Runtime.InteropServices.ExternalException ex)
            {
                Console.WriteLine(ex.Message);
            }

        }
4

1 に答える 1