public async void DoChange() { UnsplashImageProvider unsplahsImage = new UnsplashImageProvider(wallpaperMonsterConfiguration); WebResponse webResponse = unsplahsImage.LoadWebResponse(dimensions); InMemoryRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream(); using (Stream stream = unsplahsImage.FindRandomImageStream(webResponse)) { Stream memoryStream = new MemoryStream(); await stream.CopyToAsync(memoryStream); memoryStream.Position = 0; await memoryStream.CopyToAsync(randomAccessStream.AsStreamForWrite()); memoryStream.Position = 0; if (wallpaperMonsterConfiguration.FindShouldChangeWallpaper()) { ChangeWallpaper(unsplahsImage, memoryStream); } } if (wallpaperMonsterConfiguration.FindShouldChangeLockScreen()) { ChangeLockScreen(randomAccessStream); } }
private void ChangeWallpaper(UnsplashImageProvider unsplahsImage, Stream imageStream) { Image image = unsplahsImage.FindRandomImage(imageStream); WallpaperImage wallpaper = new WallpaperImage(); wallpaper.Save(image); DesktopWallpaper.ChangeWallpaper(WallpaperImage.PATH); }