/// <summary> /// Gets the resource name of the specified image within this dictionary. /// </summary> internal string GetImageName(XImage image) { PDFImage pdfImage = _document.ImageTable.GetImage(image); Debug.Assert(pdfImage != null); string name = Resources.AddImage(pdfImage); return(name); }
/// <summary> /// Adds the specified image to this resource dictionary /// and returns its local resource name. /// </summary> public string AddImage(PDFImage image) { if (!_resources.TryGetValue(image, out string name)) { name = NextImageName; _resources[image] = name; if (image.Reference == null) { Owner.IrefTable.Add(image); } XObjects.Elements[name] = image.Reference; } return(name); }
/// <summary> /// Gets a PDFImage from an XImage. If no PDFImage already exists, a new one is created. /// </summary> public PDFImage GetImage(XImage image) { ImageSelector selector = image._selector; if (selector == null) { selector = new ImageSelector(image); image._selector = selector; } if (!_images.TryGetValue(selector, out PDFImage pdfImage)) { pdfImage = new PDFImage(Owner, image); //pdfImage.Document = _document; Debug.Assert(pdfImage.Owner == Owner); _images[selector] = pdfImage; } return pdfImage; }