0

次の関数を使用してビットマップ画像をロードしています

private BitmapImage fileNameBitMap(string filePath)
{
    if (!string.IsNullOrEmpty(filePath) && File.Exists(filePath))
    {
        try
        {
            BitmapImage bitmap = new BitmapImage();
            bitmap.BeginInit();
            bitmap.CacheOption = BitmapCacheOption.OnLoad;


            bitmap.DecodePixelWidth = 200;
            bitmap.UriSource = new Uri(filePath);
            bitmap.CreateOptions = BitmapCreateOptions.IgnoreColorProfile;

            bitmap.EndInit();
            image = bitmap;
            return bitmap;
        }
        catch
        {
            return null;
        }
    }
    return null;
}

bitmap.SourceStream をデバッグすると、null に等しいことがわかります。また、FormatNotSupportedException がスローされることもわかります。BitmapImage を byte[] に変換する過程でストリームに格納する必要があります。

4

1 に答える 1

1

画像ファイルの内容を次のように読み込むだけですbyte[]

var bytes = File.ReadAllBytes(filePath);
于 2013-07-24T15:47:56.310 に答える