如何创建一个启动System.Drawing.Bitmap对象的iTextSharp.text.Image对象?

时间:2014-05-08 17:03:59

标签: c# pdf pdf-generation itextsharp itext

我是 iTextSharp iText 的C#版本)中的新手:

我有这样的事情:

System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)ChartHelper.GetPdfChart((int)currentVuln.UrgencyRating * 10);

iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(bitmap);

vulnerabilityDetailsTable.AddCell(new PdfPCell(img) { Border = PdfPCell.RIGHT_BORDER, BorderColor = new BaseColor(79, 129, 189), BorderWidth = 1, Padding = 5, MinimumHeight = 30, PaddingTop = 10 });  

如您所见,我有经典的 System.Drawing.Bitmap immage名为位图,我希望将其放在PDF文档表格的单元格中。

问题是此行已签名为错误:

iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(bitmap);

错误是:

  

错误75最佳重载方法匹配   ' iTextSharp.text.Image.GetInstance(iTextSharp.text.Image)'有一些   无效   参数c:\ Develop \ EarlyWarning \ public \ Implementazione \ Ver2 \ PdfReport \ PdfVulnerability.cs 120 27 PdfReport

所以我认为我需要从经典 System.Drawing.Bitmap 对象中获取 iTextSharp.text.Image 对象。

我该怎么做?我试着去疯狂。

TNX

1 个答案:

答案 0 :(得分:19)

没有重载只需System.Drawing.Image。你需要使用其中一个:

GetInstance(System.Drawing.Image image, BaseColor color)
GetInstance(System.Drawing.Image image, BaseColor color, bool forceBW)
GetInstance(System.Drawing.Image image, System.Drawing.Imaging.ImageFormat format)

第一个可能是最好的选择,我99%肯定你可以通过null传递color参数。