public string GetWallpaperImage() { if (File.Exists(_temporaryWaitForDeleteFiles)) { return(_temporaryWaitForDeleteFiles); } var fileName = "10." + RegularExpressionHelpers.AlphabetCleaner($"{_player.Track}-{_player.Album}-{_player.Artist}") + ".jpg"; if (!CacheFileManager.IsFileExists(fileName)) { using var image = this.CalculateBackgroundImage((int)System.Windows.SystemParameters.PrimaryScreenWidth, (int)System.Windows.SystemParameters.PrimaryScreenHeight); var bytes = image.ToByteArray(ImageFormat.Jpeg); CacheFileManager.SaveCache(fileName, bytes); } return(CacheFileManager.GetFullCachePath(fileName)); }
public ExceptionConfigurationWindow() { InitializeComponent(); using var cacheFs = CacheFileManager.GetFileCache("exclude.json"); using var streamReader = new StreamReader(cacheFs); var exceptions = JsonConvert.DeserializeObject <List <string> >(streamReader.ReadToEnd()); var stackPanel = new StackPanel(); stackPanel.HorizontalAlignment = HorizontalAlignment.Left; stackPanel.VerticalAlignment = VerticalAlignment.Top; foreach (var session in GetSessionNames()) { var checkBox = new CheckBox(); checkBox.Content = session; if (exceptions.Contains(session)) { checkBox.IsChecked = true; } checkBox.Click += (s, e) => { if (checkBox.IsChecked.Value) { exceptions.Add(session); } else { exceptions.Remove(session); } }; stackPanel.Children.Add(checkBox); } this.ScrollViewer.Content = stackPanel; this.Closing += (s, e) => { MessageBox.Show($"Exclude list has been updated, restart the program to take effect."); CacheFileManager.SaveCache("exclude.json", JsonConvert.SerializeObject(exceptions)); }; }
private async ValueTask <Image> GetImageAsync(string artworkUrl) { Image image; var lookupKey = artworkUrl.Substring(artworkUrl.LastIndexOf("/") + 1); if (CacheFileManager.TryGetFileCache(lookupKey, out var fs)) { using (fs) { image = Image.FromStream(fs); } } else { var imageBytes = await httpClient.GetByteArrayAsync(new Uri(artworkUrl)); image = (Image)(new ImageConverter()).ConvertFrom(imageBytes); CacheFileManager.SaveCache(lookupKey, imageBytes); } return(image); }