如何在不写入文件的情况下获取DataVisualization.Charting.Chart到iTextSharp.text.Image的图像?

我正在编写一个用于可视化测量数据的软件。 为此,我使用System.Windows.Forms.DataVisualization.Charting.Chart,我知道我可以通过chartObj.SaveImage获取显示的图像,以将其存储到文件中。

我的软件应有PDF导出,其中应包含图片。 为此,我正在使用iTextSharp。 同样,我知道如何通过iTextSharp.text.Image.GetInstance将我存储在文件中的图片放入PDF中。

所以到现在为止,我可以拍摄图表的图片,将其放入文件(例如.jpg文件)并再次加载此文件以将其放入我的PDF中。 现在我正在寻找一个很好的解决方案,将图片放入PDF而不将其存储到文件中,可能通过Stream或类似的东西。 我已经尝试了很长时间,但直到现在我还没有成功。 我想到了类似的东西

Stream imageStream = image of chartObj; iTextSharp.text.Image picture = iTextSharp.text.Image.GetInstance(imageStream); 

据我所知,我无法将chartObj中的图片放入Stream而不是文件中。 如果我有这个,我想我可以通过iTextSharp.text.Image.GetInstance加载Stream。

有没有人可以提供一些帮助? 猜猜不是那么难,但我是C#和iText的新手,所以我只是有点卡在这里。

提前感谢您对此的每一个想法!

安娜

SaveImage到MemoryStream:

 using (var chartimage = new MemoryStream()) { chart.SaveImage(chartimage, ChartImageFormat.Png); return chartimage.GetBuffer(); } 

从: Microsoft图表控件到带有iTextSharp和ASP.NET MVC的PDF