private void DisplayImage() { SetImageNavigationControls(); PbxImage.Clear(); if (m_images == null || m_imageIndex < 0 || m_imageIndex >= m_images.Count) { return; } var sample = m_images[m_imageIndex]; if (sample != null) { try { using (var img = sample.GetImage()) { var imgResized = img.ResizeKeepAspectRatio(PbxImage.Width, PbxImage.Height, Color.White); PbxImage.Image = imgResized; } } catch (Exception err) { MessageBox.Show(string.Format("Image {0}/{1}.{2}: {3}", sample.TitleId, sample.Id, sample.Extension, err.Message), "Error displaying image"); } } }
private void DisplayTitleInfo(Title title) { m_currentTitle = title; LVLocations.ClearObjects(); LVRatings.ClearObjects(); m_imageIndex = 0; if (title != null) { TbxReleaseYear.Text = title.Year.ToString("##"); TbxDescription.Text = title.Description; TbxImdbId.Text = title.ImdbId; TbxSeason.Text = title.Season.ToString("##"); TbxDisk.Text = title.Disk.ToString("##"); TbxEpisode.Text = title.EpisodeOrTrack.ToString("##"); TbxTitleName.Text = title.TitleName; CbxKind.SetSelectedKey(title.Kind); LVLocations.AddObjects(LocationPersistence.ListTitleLocations(title.Id)); LVRatings.AddObjects(TitlePersistence.GetRatings(title.Id)); SetEpisodeControlsState(m_currentTitle.Kind); m_images = MediaSamplePersistence.GetSamples(title.Id, MediaSampleKind.Image); DisplayImage(); } else { TbxReleaseYear.Text = ""; TbxDescription.Text = ""; TbxImdbId.Text = ""; TbxSeason.Text = ""; TbxDisk.Text = ""; TbxEpisode.Text = ""; TbxTitleName.Text = ""; CbxKind.SelectedIndex = -1; SetEpisodeControlsState(TitleKind.Title); m_images = null; SetImageNavigationControls(); PbxImage.Clear(); } }