Guardar la imagen de un Drawingarea con itexsharp
Publicado por Carlos Enrique Ramírez Martin (1 intervención) el 10/12/2009 21:10:30
Buenas. Desde hace tiempo deseo guardar las graficas que creo en un drawingarea hacia un pdf, el problema que tengo es que necesito que la imagen sea del tipo System.Drawing.Image y lo que obtengo del drawingarea es del tipo Gdk.Image y me dice que no es compatible. Este es el código que empleo:
//------------------------------------------------------------------------------------------------
Document doc = new Document();
String direccion = "Imagen.pdf";
FileStream file = new FileStream(direccion, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
PdfWriter.GetInstance(doc, file);
// aqui es donde me da el error.
System.Drawing.Image imagen = drawingarea1.GdkWindow.GetImage(0,0,800,600);
// no se como capturar la imagen de un drawingarea y que sea compatible.
iTextSharp.text.Image imgP = iTextSharp.text.Image.GetInstance(imagen,new iTextSharp.text.Color(1,1,1));
PdfPTable datatable = new PdfPTable(1);
datatable.DefaultCell.BorderWidth = 0;
datatable.AddCell(imgP);
datatable.CompleteRow();
doc.Open();
doc.Add(datatable);
doc.Close();
Process.Start(direccion);
//------------------------------------------------------------------------------------------------
Me da el error de que no puedo compartir de Gdk.Imagen a System.Drawing.Image y que Image no está contenido dentro de System.Drawing.
Ayudenme por favor, le estaría muy agradecido.
//------------------------------------------------------------------------------------------------
Document doc = new Document();
String direccion = "Imagen.pdf";
FileStream file = new FileStream(direccion, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
PdfWriter.GetInstance(doc, file);
// aqui es donde me da el error.
System.Drawing.Image imagen = drawingarea1.GdkWindow.GetImage(0,0,800,600);
// no se como capturar la imagen de un drawingarea y que sea compatible.
iTextSharp.text.Image imgP = iTextSharp.text.Image.GetInstance(imagen,new iTextSharp.text.Color(1,1,1));
PdfPTable datatable = new PdfPTable(1);
datatable.DefaultCell.BorderWidth = 0;
datatable.AddCell(imgP);
datatable.CompleteRow();
doc.Open();
doc.Add(datatable);
doc.Close();
Process.Start(direccion);
//------------------------------------------------------------------------------------------------
Me da el error de que no puedo compartir de Gdk.Imagen a System.Drawing.Image y que Image no está contenido dentro de System.Drawing.
Ayudenme por favor, le estaría muy agradecido.
Valora esta pregunta


0