0

私たちのアプリケーションでは、 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 の投稿

4

0 に答える 0