Как создать объект iTextSharp.text.Image, начинающийся с объекта System.Drawing.Bitmap?

Я довольно новичок в 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 с именем bitmap, и я хочу поместить его в ячейку таблицы документа 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

Поэтому я думаю, что мне нужно получить объект iTextSharp.text.Image из классического объекта System.Drawing.Bitmap.

Что я могу сделать, чтобы сделать это? Я схожу с ума, пытаясь это сделать.

Tnx

1 ответ

Решение

Там нет перегрузок, которые занимают только 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 параметр.

Другие вопросы по тегам