私たちのアプリケーションでは、 GDI+ の ExternalException に問題があります。アプリケーションは配布され、100 台以上のコンピューターで正常に実行されますが、テスト環境では再現できません。ただし、前述の例外で 1 台のコンピューターがクラッシュします。
はBitmap
以前に resx ファイルを介してロードされておりBitmapImage
、アプリケーションの WPF 部分で表示するためだけに使用されています。
対応するコードは次のとおりです。
private static BitmapImage ConvertToImage(Bitmap bitmap)
{
var bitmapImage = new BitmapImage();
using (var memory = new MemoryStream())
{
bitmap.Save(memory, ImageFormat.Png);
memory.Position = 0;
bitmapImage.BeginInit();
bitmapImage.StreamSource = memory;
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.EndInit();
}
return bitmapImage;
}
呼び出し時にアプリケーションがクラッシュする
bitmap.Save
コンピューターには、 .NET 4.0と共にインストールされたWindows 7 x64があります。
これが何であるかについてのヒントはありますか?
編集1:
これまでのところ、例外の原因はわかりませんでした。一部の特定の画像でのみ例外が発生することがわかりました。しかし、すべての画像はPNG
フォーマットにあります。
今のところCreateBitmapSourceFromHBitmap
、私たちのために働いている使用の解決策に固執します。CreateBitmapSourceFromHBitmap - Stackoverflow の投稿