iTextSharp.text.pdf.PdfWriter.AddDirectImageSimple C# (CSharp) Method

AddDirectImageSimple() public method

public AddDirectImageSimple ( System.Image image, PdfIndirectReference fixedRef ) : PdfName
image System.Image
fixedRef PdfIndirectReference
return PdfName
        public PdfName AddDirectImageSimple(Image image, PdfIndirectReference fixedRef)
        {
            PdfName name;
            // if the images is already added, just retrieve the name
            if (images.ContainsKey(image.MySerialId)) {
                name = images[image.MySerialId];
            }
            // if it's a new image, add it to the document
            else {
                if (image.IsImgTemplate()) {
                    name = new PdfName("img" + images.Count);
                    if (image is ImgWMF){
                        ImgWMF wmf = (ImgWMF)image;
                        wmf.ReadWMF(PdfTemplate.CreateTemplate(this, 0, 0));
                    }
                }
                else {
                    PdfIndirectReference dref = image.DirectReference;
                    if (dref != null) {
                        PdfName rname = new PdfName("img" + images.Count);
                        images[image.MySerialId] = rname;
                        imageDictionary.Put(rname, dref);
                        return rname;
                    }
                    Image maskImage = image.ImageMask;
                    PdfIndirectReference maskRef = null;
                    if (maskImage != null) {
                        PdfName mname = images[maskImage.MySerialId];
                        maskRef = GetImageReference(mname);
                    }
                    PdfImage i = new PdfImage(image, "img" + images.Count, maskRef);
                    if (image is ImgJBIG2) {
                        byte[] globals = ((ImgJBIG2) image).GlobalBytes;
                        if (globals != null) {
                            PdfDictionary decodeparms = new PdfDictionary();
                            decodeparms.Put(PdfName.JBIG2GLOBALS, GetReferenceJBIG2Globals(globals));
                            i.Put(PdfName.DECODEPARMS, decodeparms);
                        }
                    }
                    if (image.HasICCProfile()) {
                        PdfICCBased icc = new PdfICCBased(image.TagICC, image.CompressionLevel);
                        PdfIndirectReference iccRef = Add(icc);
                        PdfArray iccArray = new PdfArray();
                        iccArray.Add(PdfName.ICCBASED);
                        iccArray.Add(iccRef);
                        PdfArray colorspace = i.GetAsArray(PdfName.COLORSPACE);
                        if (colorspace != null) {
                            if (colorspace.Size > 1 && PdfName.INDEXED.Equals(colorspace[0]))
                                colorspace[1] = iccArray;
                            else
                                i.Put(PdfName.COLORSPACE, iccArray);
                        }
                        else
                            i.Put(PdfName.COLORSPACE, iccArray);
                    }
                    Add(i, fixedRef);
                    name = i.Name;
                }
                images[image.MySerialId] = name;
            }
            return name;
        }

Same methods

PdfWriter::AddDirectImageSimple ( System.Image image ) : PdfName