private void SetImageInfo() { CoreImageInfo info = m_group.images[m_index]; m_fileSizeLabel.Text = info.GetFileSizeString(); m_imageSizeLabel.Text = string.Format("{0}×{1}", info.width, info.height); m_imageTypeLabel.Text = (info.type == CoreDll.ImageType.None ? " " : info.GetImageTypeString()); m_fileNameLabel.Text = Path.GetFileNameWithoutExtension(info.path); bool[] selected = m_core.GetSelection(m_group.id, (uint)m_index, 1); m_checkBox.Checked = selected[0]; }
/// <summary> /// Set information in image panel. /// Установка информации в панели изображения. /// </summary> private void SetImageInfo(CoreImageInfo currentImageInfo, CoreImageInfo neighbourImageInfo) { /*bool updateCurrent = UpdateImageInfo(ref m_currentImageInfo, currentImageInfo); * bool updateNeighbour = UpdateImageInfo(ref m_neighbourImageInfo, neighbourImageInfo);*/ bool updateCurrent = true; bool updateNeighbour = true; if (!m_options.resultsOptions.ShowNeighboursImages) { m_currentImageInfo = currentImageInfo; m_neighbourImageInfo = neighbourImageInfo; } else { updateCurrent = UpdateImageInfo(ref m_currentImageInfo, currentImageInfo); updateNeighbour = UpdateImageInfo(ref m_neighbourImageInfo, neighbourImageInfo); } if (updateCurrent) { m_pictureBoxPanel.UpdateImage(currentImageInfo); m_fileSizeLabel.Text = m_currentImageInfo.GetFileSizeString(); m_imageSizeLabel.Text = m_currentImageInfo.GetImageSizeString(); m_imageBlocknessLabel.Text = m_currentImageInfo.GetBlockinessString(); m_imageBlurringLabel.Text = m_currentImageInfo.GetBlurringString(); m_imageTypeLabel.Text = m_currentImageInfo.type == CoreDll.ImageType.None ? " " : m_currentImageInfo.GetImageTypeString(); if (currentImageInfo.exifInfo.isEmpty == CoreDll.FALSE) { m_imageExifLabel.Visible = true; SetExifTooltip(currentImageInfo); } else { m_imageExifLabel.Visible = false; } m_pathLabel.Text = m_currentImageInfo.path; if (m_neighbourImageInfo != null) //подсветка highlight { m_imageSizeLabel.ForeColor = m_currentImageInfo.height * m_currentImageInfo.width < m_neighbourImageInfo.height * m_neighbourImageInfo.width ? Color.Red : TableLayoutPanel.DefaultForeColor; m_imageTypeLabel.ForeColor = m_currentImageInfo.type != m_neighbourImageInfo.type ? Color.Red : TableLayoutPanel.DefaultForeColor; m_fileSizeLabel.ForeColor = m_currentImageInfo.size < m_neighbourImageInfo.size ? Color.Red : TableLayoutPanel.DefaultForeColor; m_imageBlocknessLabel.ForeColor = m_currentImageInfo.blockiness > m_neighbourImageInfo.blockiness ? Color.Red : TableLayoutPanel.DefaultForeColor; m_imageBlurringLabel.ForeColor = m_currentImageInfo.blurring > m_neighbourImageInfo.blurring ? Color.Red : TableLayoutPanel.DefaultForeColor; m_imageExifLabel.ForeColor = ExifEqual(m_currentImageInfo.exifInfo, m_neighbourImageInfo.exifInfo) ? TableLayoutPanel.DefaultForeColor : Color.Red; } } else if (m_neighbourImageInfo != null) { m_imageSizeLabel.ForeColor = m_currentImageInfo.height * m_currentImageInfo.width < m_neighbourImageInfo.height * m_neighbourImageInfo.width ? Color.Red : TableLayoutPanel.DefaultForeColor; m_imageTypeLabel.ForeColor = m_currentImageInfo.type != m_neighbourImageInfo.type ? Color.Red : TableLayoutPanel.DefaultForeColor; m_fileSizeLabel.ForeColor = m_currentImageInfo.size < m_neighbourImageInfo.size ? Color.Red : TableLayoutPanel.DefaultForeColor; m_imageBlocknessLabel.ForeColor = m_currentImageInfo.blockiness > m_neighbourImageInfo.blockiness ? Color.Red : TableLayoutPanel.DefaultForeColor; m_imageBlurringLabel.ForeColor = m_currentImageInfo.blurring > m_neighbourImageInfo.blurring ? Color.Red : TableLayoutPanel.DefaultForeColor; m_imageExifLabel.ForeColor = ExifEqual(m_currentImageInfo.exifInfo, m_neighbourImageInfo.exifInfo) ? TableLayoutPanel.DefaultForeColor : Color.Red; } if (updateCurrent || updateNeighbour) { Size neighbourSizeMax = new Size(0, 0); if (m_neighbourImageInfo != null) { neighbourSizeMax = new Size((int)m_neighbourImageInfo.width, (int)m_neighbourImageInfo.height); } m_pictureBoxPanel.UpdateImagePadding(neighbourSizeMax); Refresh(); } }