我正在为Windows Phone 7构建应用程序,我每隔1秒就会截取屏幕截图,所有屏幕截图都保存在媒体库中,文件名为1.jpg,2.jpg,3.jpg ...... ...等等。现在,当我从图书馆拍摄图像时,我会随机获取图像,如(1.jpg,2.jpg,3.jpg,7.jpg,13.jpg,4.jpg,15.jpg,5.jpg) 。 如何按顺序获取所有图像。这是我的代码
使用(MediaLibrary mediaLibrary = new MediaLibrary())
{
PictureCollection AllScreenShot = mediaLibrary.Pictures;
foreach (Picture picture in AllScreenShot)
{
using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (!storage.DirectoryExists("SavedImg"))
storage.CreateDirectory("SavedImg");
if (storage.FileExists("SavedImg" + "\\" + picture.Name))
storage.DeleteFile("SavedImg" + "\\" + picture.Name);
using (IsolatedStorageFileStream file = storage.CreateFile("SavedImg" + "\\" + picture.Name))
picture.GetImage().CopyTo(file);
}
}
}
答案 0 :(得分:0)
创建图像列表并将所有图像存储在列表中。就像这样,
List<Image> listImage = new List<Image>(10); // say 10
listImage.Add(your image Item) in your case its pic 1.jpg; // cast before adding
List<Image> orderedList = listImage.OrderBy(k => k.ToString()).ToList();
实际上它不是.ToString()。我声明要让你清楚这个概念。在Image的情况下,首先需要将其转换为byte []然后将byte []存储在列表中,最后执行OrderBy选项,它将按顺序对图像进行排序。