public ArchivedImage(BingImage b) { Name = b.GetImageName(); Market = b.market; Description = b.copyright; Date = b.startdate; UrlBase = b.urlbase; FileName = b.GetImageFileName(false); }
private static async Task SetBingImageAsync() { var bingImage = new BingImage(); var bingUnit = await bingImage.GetTodayBingUnit(BingImageResolution.LARGE); if (bingUnit != null) { //imgBingScreen.Source = new BitmapImage(new Uri(bingUnit.Path)); } }
public async Task SetBingImageAsync() { BingImage bingImage = new BingImage(); var bingUnit = await bingImage.GetTodayBingUnit(BingImageResolution.LARGE); if (bingUnit != null) { imgPreview.Source = new BitmapImage(new Uri(bingUnit.Path)); } }
public override Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> state) { if (state.ContainsKey(nameof(Image))) { Image = state[nameof(Image)] as BingImage; state.Clear(); } else { Image = parameter as BingImage; } return(Task.CompletedTask); }
public async Task <CBBingImageBackground> GetBingImageAsync() { BingImage bingImage = new BingImage(); var bingUnit = await bingImage.GetTodayBingUnit(BingImageResolution.LARGE); if (bingUnit != null) { var bg = new CBBingImageBackground(); bg.Background = bingUnit.Path; bg.Copyright = bingUnit.Copyright; return(bg); } return(null); }
public BingImage[] GetBingImages() { var results = new BingImage[] { }; var webClient = new WebClient(); webClient.Headers.Add("Ocp-Apim-Subscription-Key", "018b48326ce247919bd60c3121812766"); byte[] searchResults = webClient.DownloadData(string.Format("https://api.cognitive.microsoft.com/bing/v5.0/images/search?q={0}&mkt=en-us", "rocky+mountains&count=8")); var serializer = new JsonSerializer(); using (var stream = new MemoryStream(searchResults)) using (var reader = new StreamReader(stream)) using (var jsonReader = new JsonTextReader(reader)) { return(results = serializer.Deserialize <BingImageResponse>(jsonReader).value); } }
UIBingImage BingImageToUIBingImage(BingImage image) { UIBingImage uiImage = new UIBingImage(); uiImage.BingImageId = Guid.NewGuid(); uiImage.StartDate = image.StartDate; uiImage.EndDate = image.EndDate; uiImage.Copyright = image.Copyright; uiImage.ImageName = FormatImageName(image.Copyright); uiImage.BingHost = downloader.BingHost; uiImage.ImageUrl = image.ImageUrl; MemoryStream imageStream = new MemoryStream(); image.Image.Save(imageStream, ImageFormat.Jpeg); uiImage.ImageData = imageStream.ToArray(); imageStream.Close(); uiImage.Hotspots = JsonConvert.SerializeObject(image.Hotspots); uiImage.Messages = JsonConvert.SerializeObject(image.Messages); return(uiImage); }
public bool SaveTodayBingImage() { List <BingImage> images = null; try { images = downloader.GetImage(1, 1); if (images.Count == 0) { return(false); } BingImage image = images[0]; UIBingImage uiImage = BingImageToUIBingImage(image); using (DbConnection conn = Connection) { conn.Open(); DbCommand cmd = conn.CreateCommand(); cmd.CommandText = "INSERT INTO [sys_LoginImages] VALUES (@BingImageId, @StartDate, @EndDate, @Copyright, @ImageName, @BingHost, @ImageUrl, @ImageData, @Hotspots, @Messages)"; cmd.CommandType = CommandType.Text; DbParameter param = new SqlParameter("@BingImageId", DbType.Guid); param.Value = uiImage.BingImageId; cmd.Parameters.Add(param); param = new SqlParameter("@StartDate", DbType.DateTime); param.Value = uiImage.StartDate; cmd.Parameters.Add(param); param = new SqlParameter("@EndDate", DbType.DateTime); param.Value = uiImage.EndDate; cmd.Parameters.Add(param); param = new SqlParameter("@Copyright", DbType.String); param.Value = uiImage.Copyright; cmd.Parameters.Add(param); param = new SqlParameter("@ImageName", DbType.String); param.Value = uiImage.ImageName; cmd.Parameters.Add(param); param = new SqlParameter("@BingHost", DbType.String); param.Value = uiImage.BingHost; cmd.Parameters.Add(param); param = new SqlParameter("@ImageUrl", DbType.String); param.Value = uiImage.ImageUrl; cmd.Parameters.Add(param); param = new SqlParameter("@ImageData", DbType.Binary); param.Value = uiImage.ImageData; cmd.Parameters.Add(param); param = new SqlParameter("@Hotspots", DbType.String); param.Value = uiImage.Hotspots; cmd.Parameters.Add(param); param = new SqlParameter("@Messages", DbType.String); param.Value = uiImage.Messages; cmd.Parameters.Add(param); int val = cmd.ExecuteNonQuery(); return(val == 1); } } catch (Exception e) { Logging.Log.Get().Current.Error("保存出现错误", e); return(false); } }
public static void LoadXML() { BingXMLUpdate = false; BingImages.Clear(); if (File.Exists(settings.LocalXmlFilename)) { string value = File.ReadAllText(settings.LocalXmlFilename); XmlDocument doc = new XmlDocument(); try { doc.LoadXml(value); System.Xml.XmlNodeList NodeList = doc.GetElementsByTagName("image"); foreach (XmlNode node in NodeList) { BingImage BI = new BingImage(); BI.url = node["url"].InnerText; BI.copyright = System.Text.RegularExpressions.Regex.Unescape(node["copyright"].InnerText); BI.startdate = node["startdate"].InnerText; BI.fullstartdate = node["fullstartdate"].InnerText; BI.enddate = node["enddate"].InnerText; BingImages.Add(BI); DateTime dt = DateTime.Now; try { dt = DateTime.ParseExact(BI.fullstartdate, "yyyyMMddHHmm", System.Globalization.CultureInfo.InvariantCulture); } catch (Exception e) { Log.Error("Error: " + e.Message); } if (settings.BingFullstarttime != dt) { settings.BingFullstarttime = dt; BingXMLUpdate = true; } dt = DateTime.Now; try { dt = DateTime.ParseExact(BI.enddate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture); } catch (Exception e) { Log.Error("Error: " + e.Message); } if (settings.BingEnddate != dt) { settings.BingEnddate = dt; BingXMLUpdate = true; } if (dt < DateTime.Now) { Log.Info("Reload XML-file due to passed enddate!"); BingXMLUpdate = true; } if (settings.BingURL != BI.url) { settings.BingURL = BI.url; BingXMLUpdate = true; } } } catch (XmlException e) { Log.Error("Can't download or parse Bing XML-file: " + e.Message); BingXMLUpdate = true; return; } } else { BingXMLUpdate = true; } }
public void GotoDetailsPage(BingImage image) { NavigationService.Navigate(typeof(Views.DetailPage), image); }