public void GenerateThumbnails(SaveData saveData, Config config) { if (config.GenerateImages) { for (int i = 0; i < config.presets.Count; i++) { Crop crop = (Crop) saveData.data[i]; Preset preset = (Preset) config.presets[i]; // Crop rectangle bigger than actual image if(crop.X2 - crop.X > Width || crop.Y2 - crop.Y > Height) { crop = preset.Fit(this); } ImageTransform.Execute( Path, String.Format("{0}_{1}", Name, preset.Name), crop.X, crop.Y, crop.X2 - crop.X, crop.Y2 - crop.Y, preset.TargetWidth, preset.TargetHeight, config.Quality ); //BasePage bp = new BasePage(); //bp.speechBubble(BasePage.speechBubbleIcon.error, "Error", // "One or more crops are out of bounds. Please correct and try again."); } } }
public string Xml(Config config, ImageInfo imageInfo) { XmlDocument doc = createBaseXmlDocument(); XmlNode root = doc.DocumentElement; if (root == null) return null; XmlNode dateStampNode = doc.CreateNode(XmlNodeType.Attribute, "date", null); dateStampNode.Value = imageInfo.DateStamp.ToString("s"); root.Attributes.SetNamedItem(dateStampNode); for (int i = 0; i < data.Count; i++) { Crop crop = (Crop) data[i]; Preset preset = (Preset) config.presets[i]; XmlNode newNode = doc.CreateElement("crop"); XmlNode nameNode = doc.CreateNode(XmlNodeType.Attribute, "name", null); nameNode.Value = preset.Name; newNode.Attributes.SetNamedItem(nameNode); XmlNode xNode = doc.CreateNode(XmlNodeType.Attribute, "x", null); xNode.Value = crop.X.ToString(); newNode.Attributes.SetNamedItem(xNode); XmlNode yNode = doc.CreateNode(XmlNodeType.Attribute, "y", null); yNode.Value = crop.Y.ToString(); newNode.Attributes.SetNamedItem(yNode); XmlNode x2Node = doc.CreateNode(XmlNodeType.Attribute, "x2", null); x2Node.Value = crop.X2.ToString(); newNode.Attributes.SetNamedItem(x2Node); XmlNode y2Node = doc.CreateNode(XmlNodeType.Attribute, "y2", null); y2Node.Value = crop.Y2.ToString(); newNode.Attributes.SetNamedItem(y2Node); if (config.GenerateImages) { XmlNode urlNode = doc.CreateNode(XmlNodeType.Attribute, "url", null); urlNode.Value = String.Format("{0}/{1}_{2}.jpg", imageInfo.RelativePath.Substring(0, imageInfo.RelativePath.LastIndexOf( '/')), imageInfo.Name, preset.Name); newNode.Attributes.SetNamedItem(urlNode); } root.AppendChild(newNode); } return doc.InnerXml; }
public DataEditor(umbraco.interfaces.IData Data, string Configuration) { data = Data; config = new Config(Configuration); }
private void LoadData() { if (!string.IsNullOrEmpty(Configuration)) { Config config = new Config(Configuration); if (this.imagePropertyTypePicker.Items.Contains(new ListItem(config.UploadPropertyAlias))) { this.imagePropertyTypePicker.SelectedValue = config.UploadPropertyAlias; } chkGenerateCrops.Checked = config.GenerateImages; chkShowLabel.Checked = config.ShowLabel; txtQuality.Visible = chkShowLabel.Checked; txtQuality.Text = config.Quality.ToString(); litQuality.Visible = chkShowLabel.Checked; foreach (Preset preset in config.presets) { slbPresets.Items.Add( new ListItem( getListItemDisplayName( preset.Name, preset.TargetWidth.ToString(), preset.TargetHeight.ToString(), preset.KeepAspect ? "1" : "0", String.Concat(preset.PositionH, preset.PositionV)), String.Format("{0},{1},{2},{3},{4}{5}", preset.Name, preset.TargetWidth, preset.TargetHeight, preset.KeepAspect ? "1" : "0", preset.PositionH, preset.PositionV))); } } }
void _generateButton_Click(object sender, EventArgs e) { Config config = new Config(Configuration); // get list of nodeids with this datatype using (IRecordsReader rdr = SqlHelper.ExecuteReader( "SELECT DISTINCT contentNodeId, " + "(SELECT Alias FROM cmsPropertyType WHERE Id = pd.propertyTypeId) AS propertyAlias " + "FROM cmsPropertyData pd " + "WHERE PropertyTypeId IN (SELECT Id FROM cmsPropertyType WHERE DataTypeId = " + _dataType.DataTypeDefinitionId + ")")) { while (rdr.Read()) { int documentId = rdr.GetInt("contentNodeId"); string propertyAlias = rdr.GetString("propertyAlias"); Document document = new Document(documentId); Property cropProperty = document.getProperty(propertyAlias); Property imageProperty = document.getProperty(config.UploadPropertyAlias); if (cropProperty != null) // && cropProperty.Value.ToString() == "" { ImageInfo imageInfo = new ImageInfo(imageProperty.Value.ToString()); if (imageInfo.Exists) { SaveData saveData = new SaveData(); foreach (Preset preset in config.presets) { Crop crop = preset.Fit(imageInfo); saveData.data.Add(crop); } //cropProperty.Value = saveData.Xml(config, imageInfo); imageInfo.GenerateThumbnails(saveData, config); if (document.Published) { //document.Publish(document.User); //umbraco.library.UpdateDocumentCache(document.Id); } else { //document.Save(); } } } } } }