public static async Task <BitmapImage> GetImage(Guid videoId) { if (Thumbnails == null) { await InitThumbnails(); } var videoName = videoId.ToString(); var thumbnail = Thumbnails.FirstOrDefault(x => x.DisplayName == videoName); if (thumbnail == null) { return(null); } var bitmap = new BitmapImage(); bitmap.SetSource(await thumbnail.OpenAsync(FileAccessMode.Read)); bitmap.DecodePixelHeight = 130; bitmap.DecodePixelWidth = 190; return(bitmap); }
public Image GetThumbnail(int width, int height) { return(Thumbnails.FirstOrDefault(t => t.Width == width && t.Height == height)); }
public MainViewModel(IThumbnailService thumbnailService, IShareService shareService, IDialogService dialogService) { _thumbnailService = thumbnailService; _shareService = shareService; _dialogService = dialogService; SelectedItem = Thumbnails.FirstOrDefault(); IsChromeOn = true; _zoomFactor = 1; _slideShowDispatcherTimer = new DispatcherTimer(); _slideShowDispatcherTimer.Interval = new TimeSpan(0, 0, 3); _slideShowDispatcherTimer.Tick += OnSlideShowTimerTick; DeleteCommnad = new DelegateCommand(async() => await _dialogService.ShowDialogAsync("Not implemented yet!")); LoadContentCommnad = new DelegateCommand(() => _thumbnailService.SelectFolder()); ShareCommnad = new DelegateCommand(() => _shareService.ShareContent(SelectedItem?.Title, "Share an Image from Photos", ((IViewerItem)SelectedItem).Source)); FullscreenCommnad = new DelegateCommand(() => { ToggleFullScreenMode(); OnPropertyChanged(() => IsFullScreen); }); FileInfoCommnad = new DelegateCommand(() => { IsFileInfoOpen = !IsFileInfoOpen; }); RotateCommnad = new DelegateCommand(() => { if (SelectedItem == null) { return; } SelectedItem.Angle = SelectedItem.Angle + 90; }); StartSlideShowCommnad = new DelegateCommand(() => { IsSlideShowRunning = true; _currentSlideShowImageIndex = 0; ApplicationView.GetForCurrentView().TryEnterFullScreenMode(); CurrentSlideShowImage = Thumbnails.FirstOrDefault()?.ImageSource; Window.Current.CoreWindow.PointerCursor = null; _slideShowDispatcherTimer.Start(); }); Window.Current.CoreWindow.KeyDown += (sender, arg) => { if (arg.VirtualKey == Windows.System.VirtualKey.Escape && IsSlideShowRunning) { IsSlideShowRunning = false; _slideShowDispatcherTimer.Stop(); var view = ApplicationView.GetForCurrentView(); if (view.IsFullScreenMode) { view.ExitFullScreenMode(); Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Arrow, 0); } } }; }