private static void SetProperties(BingImage image, string imageFileName) { using (var imageFile = Image.FromFile(imageFileName)) { imageFile.SetMetaValue(MetaProperty.Copyright, image.Copyright); imageFile.SetMetaValue(MetaProperty.Comment, image.Comment); imageFile.SetMetaValue(MetaProperty.DateTime, image.ImageDate.ToString(CultureInfo.InvariantCulture)); imageFile.SetMetaValue(MetaProperty.Title, image.Title); imageFile.SetMetaValue(MetaProperty.Keywords, image.Copyright); } }
public static void Download(string imageFolder) { Parallel.ForEach(Countries, country => { var image = new BingImage { Country = country.Value }; image.Download(imageFolder); }); //foreach (var image in Countries.Select(country => new BingImage { Country = country.Value })) //{ // image.Download(imageFolder); //} DuplicateHandler.RemoveDuplicates(imageFolder); }
/* * private static void ProcessXml(ref string xmlString) * { * using (var reader = System.Xml.XmlReader.Create(new StringReader(xmlString))) * { * reader.ReadToFollowing("urlBase"); * xmlString = reader.ReadElementContentAsString(); * } * } */ private static BingImage GetImageData(string xmlString) { var newImage = new BingImage(); System.Xml.XmlDocument data = new System.Xml.XmlDocument(); data.LoadXml(xmlString); var imageDta = data.GetElementsByTagName("image"); foreach (System.Xml.XmlNode node in imageDta[0].ChildNodes) { var value = node.InnerText; switch (node.Name.ToUpperInvariant()) { case "STARTDATE": var year = Convert.ToInt32(value.Substring(0, 4), CultureInfo.InvariantCulture); var mon = Convert.ToInt32(value.Substring(4, 2), CultureInfo.InvariantCulture); var date = Convert.ToInt32(value.Substring(6, 2), CultureInfo.InvariantCulture); newImage.ImageDate = new DateTime(year, mon, date); break; case "URLBASE": newImage.Url = value; break; case "COPYRIGHT": newImage.Copyright = value; break; case "HEADLINE": newImage.Title = value; break; case "COPYRIGHTLINK": newImage.Comment = value; break; } } return(newImage); }