在我们的应用程序中,我们遇到了GDI +中 ExternalException 的问题。 该应用程序已成功分发并在100多台计算机上运行,我们无法在我们的测试环境中重现它。但是,一台计算机因上述异常而崩溃。
先前已通过resx文件加载Bitmap
,而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 post