/// <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);
 }
Exemple #3
0
 /// <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;
 }