0

ファイルを開いてMD5を計算し、C#Winrt / Metroアプリ内でmd5が正しい場合は、これを画像として開く必要があります。

私が抱えている問題は、WinRTのハッシュクラスにはIBuffers(FileIO.ReadBufferAsync(StorageFile)から返される)が必要であり、画像クラスにはRandomAccessStream(StorageFile.OpenReadAsync()から返される)が必要なことです。

明らかに、ファイルを2回開いて、これらの呼び出しの両方を使用することはできますが、それは非常に非効率的です。ストリーム/IBufferをMD5HashAlgorithmProvider.HashData()関数とBitmapImage.SetSource()関数の両方に渡すことができるような方法でファイルを開く簡単な方法はありますか?

IBuffer.AsStream()を変換するために使用できると思ったRandomAccessStreamOverStream関数を見つけましたが、C#でこれをインスタンス化する方法が見つかりません。

誰かがこれを行うための「正しい」方法について何かアイデアがありますか?私はC#を初めて使用し、Metroに互換性がないように見えるストリーミング/バッファリングの概念が2つある理由を理解するのに苦労しています...:(

4

1 に答える 1

0

ああ、私の行方不明のリンクはbyte []。AsBuffer()でした。バイト配列からIBufferを作成し、これをハッシュ関数に渡します。

于 2012-07-17T23:38:52.897 に答える