Tenho um objeto Image em uma janela de um projeto WPF onde carrego varias imagens (.jpg) e preciso exibir essas imagens, trocando as imagens a cada 1 segundo.
Dentro de um foreach, recupero as imagens do diretorio, atualizo no objeto Image (image1.source), porem so exibe a ultima imagem (veja codigo abaixo).
Como faço para exibir todas imagens do diretorio?
DirectoryInfo pasta = new DirectoryInfo(@"C:\teste");
arquivos = pasta.GetFiles("*.jpg");
FileStream fs = null;
byte[] data = null;
MemoryStream strm = null;
MemoryStream ms = null;
System.Drawing.Image img = null;
BitmapImage bi = null;
foreach (FileInfo file in arquivos)
{
fs = new FileStream(file.Name, FileMode.Open, FileAccess.Read);
data = new byte[fs.Length];
fs.Read(data, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
strm = new MemoryStream();
strm.Write(data, 0, data.Length);
strm.Position = 0;
img = System.Drawing.Image.FromStream(strm);
bi = new BitmapImage();
bi.CacheOption = BitmapCacheOption.OnLoad;
bi.BeginInit();
ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
ms.Seek(0, SeekOrigin.Begin);
bi.StreamSource = ms;
bi.EndInit();
image1.Source = bi;
Thread.Sleep(250);
}
Raphael Britto