public ImagePdfBytesInfo(PdfImageXObject imageXObject) { pngColorType = -1; bpc = imageXObject.GetPdfObject().GetAsNumber(PdfName.BitsPerComponent).IntValue(); pngBitDepth = bpc; palette = null; icc = null; stride = 0; width = (int)imageXObject.GetWidth(); height = (int)imageXObject.GetHeight(); colorspace = imageXObject.GetPdfObject().Get(PdfName.ColorSpace); decode = imageXObject.GetPdfObject().GetAsArray(PdfName.Decode); FindColorspace(colorspace, true); }
public virtual void AddFlushedImageXObjectToCanvas() { String filename = destinationFolder + "addFlushedImageXObjectToCanvas.pdf"; String cmpfile = sourceFolder + "cmp_addFlushedImageXObjectToCanvas.pdf"; String image = sourceFolder + "image.png"; PdfDocument pdfDoc = new PdfDocument(new PdfWriter(filename)); PdfImageXObject imageXObject = new PdfImageXObject(ImageDataFactory.Create(image)); // flushing pdf object directly imageXObject.GetPdfObject().MakeIndirect(pdfDoc).Flush(); PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage()); canvas.AddXObject(imageXObject, 50, 500, 200); pdfDoc.Close(); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(filename, cmpfile, destinationFolder)); }