0

image.jpg に無効なメタデータ ヘッダーがあるために ArgumentException が発生した場合、最初の例では例外がキャッチされ、2 番目の例では例外がキャッチされないのはなぜですか?

例 1:

try
{
Uri myUri = new Uri("http://example.com/image.jpg", UriKind.RelativeOrAbsolute);
JpegBitmapDecoder decoder2 = new JpegBitmapDecoder(myUri,
                             BitmapCreateOptions.PreservePixelFormat,
                             BitmapCacheOption.Default);
BitmapSource bitmapSource2 = decoder2.Frames[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

例 2:

try
{
BitmapImage src = new BitmapImage();
src.BeginInit();
src.UriSource = new Uri("http://example.com/image.jpg");
src.EndInit();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
4

1 に答える 1

0

コントロールのソースとして設定されるなど、イメージの読み込みが要求されるまで待機している可能性がありますImage

追加した場合、おそらく例外が発生します

src.CacheOption = BitmapCacheOption.OnLoad;

あなたの宣言に。

于 2011-04-15T22:33:14.490 に答える