gpt4 book ai didi

C# 从数组中保存图像

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:56 28 4
gpt4 key购买 nike

我有一组调整过大小的图像,我想做的是直接从阵列中保存它们...

foreach (Image I in Resizedimages)
{
string f = Environment.GetFolderPath(Environment.SpecialFolder.Desktop).ToString() + "\\NewImages\\" + names[n];

I.Save(f, System.Drawing.Imaging.ImageFormat.Jpeg);
n++;

}

问题是每次我运行该程序时,我都会收到未处理的异常“GDI+ 中发生一般错误”,我知道这与保存方法有关。我假设之前有人问过这个问题,如果是这样的话,我很抱歉。在网上搜索了几个小时后,我尝试了许多不同的修复方法,我认为这可能是我的程序特有的。有什么想法吗?

最佳答案

问题可能出在被 Bitmap 对象或 Graphics 对象锁定的对象上。在某物上调用 Dispose() 可能有效,或者您可以复制到新位图并保存:

       Bitmap copy = new Bitmap(I);
copy.Save(f, System.Drawing.Imaging.ImageFormat.Jpeg);

为避免 GDI 锁定文件,您可以从 MemoryStream 创建图像:

       MemoryStream stream = new MemoryStream(File.ReadAllBytes(fileName));
Image image = Image.FromStream(stream);

关于C# 从数组中保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5608795/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com