2

我有一个只有 PNG 图像(580 张图像)的目录。我使用此功能将图像加载到内存中

private List<Bitmap> images = new List<Bitmap>();

foreach (String s in Directory.GetFiles(@"frames\", "*.png"))
     {
        images.Add(new Bitmap(s));
     }

但是在加载后,如果我尝试使用以下方法将所有图像保存到硬盘:

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

某些图像在将它们加载到内存之前以错误的顺序保存。

可能是什么问题?

4

2 回答 2

2

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

即简单地按名称排序:

foreach (String s in Directory.GetFiles(@"frames\", "*.png").OrderBy(t=>t))
{
 ...
}
于 2012-03-14T20:56:50.017 回答
0

访问这个

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

于 2012-03-14T21:03:13.673 回答