.NET 4.x WinRT. Конвертировать BitmapImage в byte[] - C#
Формулировка задачи:
Есть набор картинок представляющих из себя byte[] зашифрованный Base64 алгоритмом. Требуется их загрузить, отредактировать и сохранить. Способ преобразования из строки в картинку найден ниже:
Вопрос: Как сохранить BitmapImage в base64 строку в WinRT окружении? Или хотя-бы как запихнуть картинку в memorystream?
public static async Task<BitmapImage> GetImage(string base64String)
{
if (base64String == null)
return null;
var buffer = System.Convert.FromBase64String(base64String);
using (InMemoryRandomAccessStream ms = new InMemoryRandomAccessStream())
{
using (DataWriter writer = new DataWriter(ms.GetOutputStreamAt(0)))
{
writer.WriteBytes(buffer);
await writer.StoreAsync();
}
var image = new BitmapImage();
image.SetSource(ms);
return image;
}
}Решение задачи: «.NET 4.x WinRT. Конвертировать BitmapImage в byte[]»
textual
Листинг программы
public static async Task SaveImage(string base64String, StorageFile file)
{
if (base64String == null)
return;
var buffer = System.Convert.FromBase64String(base64String);
using (var ms = await file.OpenAsync(FileAccessMode.ReadWrite))
{
using (DataWriter writer = new DataWriter(ms.GetOutputStreamAt(0)))
{
writer.WriteBytes(buffer);
await writer.StoreAsync();
await ms.FlushAsync();
}
}
}