0

既存の画像 (アプリのボタン内) を byte[] に保存してから、SQLite データベースに保存しようとしています。をFileOpenPickerロードして変換するIRandomAccessStream方法と、データベースに保存する方法を知っていますが、既存の画像をメトロ アプリ/Windows UI でバイト配列に変換する方法がわかりません。

私はたくさん検索しましたが、主に FileOpenPicker を使用した例や、メトロ アプリでは動作しないように見えるメモリ ストリームを使用した例を見つけました。

ありがとうございました。

4

1 に答える 1

0

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ます。

もう 1 つの例を次に示します。C# で StorageFile をバイト配列に読み込む

編集を追加

WinRT http://writeablebitmapex.codeplex.com/を使用する必要があります

WinRT イメージをバイト配列にロードする

引用..

基本的には、画像を WriteableBitmap にロードしてから、PixelBuffer.AsStream() を呼び出してそのピクセル バッファーにアクセスする必要があります。

于 2013-03-17T16:34:55.733 に答える