我试图导出MSChart的图像。从基于MSChart的应用程序导出引发矢量格式的例外
我发现了精彩的功能
[System.Windows.Forms.DataVisualization.Charting.Chart.SaveImage][1]
但是我遇到的的imageformat参数的几个问题。具体而言,我希望用户能够以任何格式保存图像,其格式为WIC编码器。为此,我得到了图像编解码器的列表,并将它们全部提供给用户。
因此,当用户选择他们的文件时,我抓住扩展名并在列表中找到与扩展名匹配的编解码器。然后,我创建相关的imageformat如下:
ImageFormat imgFmt = new ImageFormat(codec.FormatID);
我然后调用下面的图表导出:
exportChart.SaveImage(mSaveFileDialog.FileName, imgFmt);
然而,这会抛出一个异常,如果我选择的EMF或WMF,如下所示:
A first chance exception of type 'System.ArgumentNullException' occurred in System.Drawing.dll
An unhandled exception of type 'System.ArgumentNullException' occurred in System.Drawing.dll
Additional information: Value cannot be null.
最奇怪的事情是,如果我创造我的图片格式如下:
ImageFormat imgFmt = ImageFormat.Emf;
然后它写一个EMF没有问题。此外,如果我这样做(与原始imgFmt):
imgFmt.Equals(ImageFormat.Emf)
然后它返回true,但仍然引发异常。
有没有人知道为什么会发生这种情况并解决我的问题?
错误。我希望能够导出到SVG ...看起来我需要一个EMF到SVG转换器... – Goz