如何在uwp平台中将图像转换为字节数组

Nuw*_*hna 4 c# uwp windows-10-universal

我需要将图像转换为字节数组以将其存储在数据库中.而且我还需要将该数组转换回图像.我做了谷歌研究,但我找不到解决方案,因为在UWP平台上有些api不可用.

Nuw*_*hna 8

我发现这些文章的解决方案正如欧兰德所说.

要将图像转换为byte [],我将使用存储文件的'OpenSequentialReadAsyn()'方法.

我们假设我们的图像是'文件'.将其转换为字节数组,请执行以下操作

 using (var inputStream = await file.OpenSequentialReadAsync())
        {
            var readStream = inputStream.AsStreamForRead();

            var byteArray =  new byte[readStream.Length];
            await readStream.ReadAsync(byteArray, 0, byteArray.Length);
            return byteArray;
        }
Run Code Online (Sandbox Code Playgroud)

要将byte []转换回图像,请执行以下操作:

 using (InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream())
        {
            using (DataWriter writer = new DataWriter(stream.GetOutputStreamAt(0)))
            {
                writer.WriteBytes(this.byteArray);
                await writer.StoreAsync();
            }
            var image = new BitmapImage();
            await image.SetSourceAsync(stream);
            return image;

        }
Run Code Online (Sandbox Code Playgroud)

你可以在这篇文章中找到更多.