예제 #1
0
        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];
        }
예제 #2
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();
            }
        }