Pergunta

Recebi um diretório cheio apenas de imagens PNG (580 imagens).Carrego as imagens na memória com esta função

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

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

Mas depois de carregar se eu tentar salvar todas as imagens no disco rígido com isto:

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

Algumas imagens são salvas na ordem errada em que estavam antes de serem carregadas na memória.

Qual pode ser o problema?

Foi útil?

Solução

Se você precisar classificar os nomes dos arquivos, faça isso manualmente, pois a ordem em que GetFiles retorna os nomes dos arquivos não é garantida.

Ou sejabasta classificar por nome:

foreach (String s in Directory.GetFiles(@"frames\", "*.png").OrderBy(t=>t))
{
 ...
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top