Windows 8 metro应用程序将现有图像转换为byte[]

本文关键字:转换 byte 图像 metro 应用程序 Windows | 更新日期: 2023-09-27 18:04:15

我试图将现有的图像(在我的应用程序中的按钮内)保存到byte[],然后将其保存到SQLite数据库。我知道如何使用FileOpenPicker加载并转换为IRandomAccessStream,我知道如何保存到数据库,但我无法计算我们如何将现有图像转换为metro应用程序/windows UI中的字节数组。

我已经搜索了很多,但发现主要的例子与FileOpenPicker或使用内存流似乎不与地铁应用程序工作。

谢谢。

Windows 8 metro应用程序将现有图像转换为byte[]

可以使用Datareader作为

    var file = await new FileOpenPicker().PickSingleFileAsync();
    var fStream = await file.OpenAsync(FileAccessMode.Read);
    var reader = new DataReader(fStream.GetInputStreamAt(0));
    var bytes = new byte[fStream.Size];
    await reader.LoadAsync((uint)fStream.Size);
    reader.ReadBytes(bytes);

最后您可以将bytes保存到数据库。

再举一个例子,用c#将StorageFile读入字节数组

添加编辑

WinRT你需要使用http://writeablebitmapex.codeplex.com/

WinRT将图像加载到字节数组

引用。

基本上你需要加载图像到WriteableBitmap,然后通过调用PixelBuffer.AsStream()来访问像素缓冲区。