我使用以下方法将图像加载到Picture Box中:
picturebox1.Image = Image.FromFile()
Run Code Online (Sandbox Code Playgroud)
我用以下方法保存它:
Bitmap bm = new Bitmap(pictureBox1.Image);
bm.Save(FileName, ImageFormat.Bmp);
Run Code Online (Sandbox Code Playgroud)
它在创建新文件时工作得很好,但是当我尝试替换现有图像时,我会抛出以下运行时错误:
GDI +中发生了一般错误
那么我该怎么做才能解决这个问题呢?
Jal*_*aid 15
因为您使用的是图像文件,请picturebox1.Image尝试将其保存到不同的文件路径:
picturebox1.Image = Image.FromFile(FileName);
Bitmap bm = new Bitmap(pictureBox1.Image);
bm.Save(@"New File Name", ImageFormat.Bmp);
Run Code Online (Sandbox Code Playgroud)
编辑:您还可以在第一个位置添加图像副本,如:
picturebox1.Image = new Bitmap(Image.FromFile(FileName));
Bitmap bm = new Bitmap(pictureBox1.Image);
bm.Save(FileName, ImageFormat.Bmp);//no error will occurs here.
Run Code Online (Sandbox Code Playgroud)
该FromFile方法锁定文件,因此使用Image.FromStream()方法读取图像:
byte[] bytes = System.IO.File.ReadAllBytes(filename);
System.IO.MemoryStream ms = new System.IO.MemoryStream(bytes);
pictureBox1.Image = Image.FromStream(ms);
Run Code Online (Sandbox Code Playgroud)
然后像以前一样保存.
| 归档时间: |
|
| 查看次数: |
52252 次 |
| 最近记录: |