将 StorageFile 转换为 WriteableBitmap WP8.1 Silverlight

Convert StorageFile to WriteableBitmap WP8.1 Silverlight

我正在开发此应用程序,我可以在其中以 StorageFile 数据类型从图片库中获取所有图片。现在我想将其更改为可写位图,应用草图过滤器并在图像控件中显示。有人可以帮我将数据类型从 StorageFile 更改为 writeablebitmap 吗?

这是我的代码:

StorageFolderpicturesFolder = KnownFolders.PicturesLibrary;

IReadOnlyList<IStorageFile> file = await picturesFolder.GetFilesAsync(CommonFileQuery.OrderByDate);

if(file.Count > 0)

 {

foreach(StorageFile f in file)

 { 

// the code for changing the data type will go here

}

试试这个,它应该有效:

IReadOnlyList<IStorageFile> files = await picturesFolder.GetFilesAsync(CommonFileQuery.OrderByDate);

if(files.Count > 0)
{
    var images = new List<WriteableBitmap>();
    foreach(var f in files)
    { 
         var bitmap = new WriteableBitmap(500, 500);
         using (var stream = await f.OpenAsync(FileAccessMode.ReadWrite))
         {
             bitmap.SetSource(stream);
         }
         images.Add(bitmap);
    }
}

这段代码对我有用。

if (file.Count > 0)
{          
    foreach (StorageFile f in file)
    {
        ImageProperties properties = await f.Properties.GetImagePropertiesAsync();
        WriteableBitmap bmp = new WriteableBitmap((int)properties.Width, (int)properties.Height);
        bmp.SetSource((await f.OpenReadAsync()).AsStream());

        // Ready to go with bmp
    }
}