加载/保存图像顺序错误

本文关键字:顺序 错误 图像 保存 加载 | 更新日期: 2023-09-27 18:27:45

我得到了一个目录,里面只有PNG图像(580个图像)。我用这个功能加载内存中的图像

private List<Bitmap> images = new List<Bitmap>();
foreach (String s in Directory.GetFiles(@"frames'", "*.png"))
     {
        images.Add(new Bitmap(s));
     }

但在加载后,如果我试图将所有图像保存到hdd中,请使用以下内容:

System.IO.Directory.CreateDirectory("result");
for (int i = 0; i < images.Count; i++)
   {
      images[i].Save(Application.StartupPath + "''result''img" + i + ".png", ImageFormat.Png);
   }

某些图像的保存顺序与加载到内存之前的顺序不一致。

可能是什么问题?

加载/保存图像顺序错误

如果需要对文件名进行排序,则需要手动进行,因为GetFiles返回文件名的顺序无法保证。

即简单地按名称排序:

foreach (String s in Directory.GetFiles(@"frames'", "*.png").OrderBy(t=>t))
{
 ...
}

访问此

http://www.codeproject.com/Articles/33310/C-Save-and-Load-Image-from-Database