次の関数を使用してビットマップ画像をロードしています
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[] に変換する過程でストリームに格納する必要があります。