protected virtual XElement CreateImageElement(HtmlNode htmlNode, Item mediaContentItem, ParseContext parseContext, string width, string height) { XElement xelement = RenderItemHelper.CreateXElement("Image", ((TemplateItem)parseContext.Database.GetItem(WebConfigHandler.PrintStudioEngineSettings.EngineTemplates + "P_Image")).StandardValues, parseContext.PrintOptions.IsClient, (Item)null); ParseDefinition definition = parseContext.ParseDefinitions[htmlNode]; if (definition != null) { this.SetAttributes(xelement, htmlNode, definition); } xelement.SetAttributeValue((XName)"Height", (object)height); xelement.SetAttributeValue((XName)"Width", (object)width); xelement.SetAttributeValue((XName)"SitecoreMediaID", (object)mediaContentItem.ID.Guid.ToString()); string imageOnServer = ImageRendering.CreateImageOnServer(parseContext.PrintOptions, (MediaItem)mediaContentItem); string str = parseContext.PrintOptions.FormatResourceLink(imageOnServer); xelement.SetAttributeValue((XName)"LowResSrc", (object)str); xelement.SetAttributeValue((XName)"HighResSrc", (object)str); return(xelement); }
protected virtual XElement CreateImageElement(HtmlNode htmlNode, Item mediaContentItem, ParseContext parseContext, string width, string height) { Item item = parseContext.Database.GetItem(WebConfigHandler.PrintStudioEngineSettings.EngineTemplates + "P_Image"); Item standardValues = item.Template.StandardValues; XElement xElement = RenderItemHelper.CreateXElement("Image", standardValues, parseContext.PrintOptions.IsClient, null); ParseDefinition parseDefinition = parseContext.ParseDefinitions[htmlNode]; if (parseDefinition != null) { this.SetAttributes(xElement, htmlNode, parseDefinition); } xElement.SetAttributeValue("Height", height); xElement.SetAttributeValue("Width", width); xElement.SetAttributeValue("SitecoreMediaID", mediaContentItem.ID.Guid.ToString()); string text = ImageRendering.CreateImageOnServer(parseContext.PrintOptions, mediaContentItem); text = parseContext.PrintOptions.FormatResourceLink(text); xElement.SetAttributeValue("LowResSrc", text); xElement.SetAttributeValue("HighResSrc", text); return(xElement); }
protected override void RenderContent(PrintContext printContext, XElement output) { XElement xElement = RenderItemHelper.CreateXElement("Image", base.RenderingItem, printContext.Settings.IsClient, null); string text = string.Empty; string value = base.RenderingItem["MediaLibrary Reference"]; bool flag = string.IsNullOrEmpty(value); ID iD; if (!flag && ID.TryParse(value, out iD) && iD != ID.Null) { MediaItem mediaItem = printContext.Database.GetItem(iD); text = ImageRendering.CreateImageOnServer(printContext.Settings, mediaItem); } else { string text2 = base.RenderingItem.Parent["Item Field"]; flag &= string.IsNullOrEmpty(text2); Item dataItem = this.GetDataItem(printContext); if (dataItem != null && !string.IsNullOrEmpty(text2)) { Field field = dataItem.Fields[text2]; if (field != null) { if (field.Type == "QR Code Image") { text = ImageRendering.CreateQrOnServer(printContext.Settings, base.RenderingItem, field.Value); } else if (field.Type == "Image") { MediaItem mediaItem2 = printContext.Database.GetItem(field.Value); text = ImageRendering.CreateImageOnServer(printContext.Settings, mediaItem2); } else if (field.Type == "Treelist") { string[] images; images = field.Value.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries); int intPosition; if (position != null) { intPosition = Convert.ToInt32(position); } else { intPosition = 0; } MediaItem mediaItem3 = printContext.Database.GetItem(images[intPosition]); text = ImageRendering.CreateImageOnServer(printContext.Settings, mediaItem3); } else { } } } } if (string.IsNullOrEmpty(text) && flag) { xElement.SetAttributeValue("LowResSrc", base.RenderingItem["LowResSrc"]); xElement.SetAttributeValue("HighResSrc", base.RenderingItem["HighResSrc"]); } else { text = printContext.Settings.FormatResourceLink(text); xElement.SetAttributeValue("LowResSrc", text); xElement.SetAttributeValue("HighResSrc", text); } output.Add(xElement); this.RenderChildren(printContext, xElement); }