コード例 #1
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            object result = DependencyProperty.UnsetValue;

            if ((value != null) && (value is Raster.Pixel))
            {
                Raster.Pixel pixel = (Raster.Pixel)value;
                if (parameter is string)
                {
                    if ((string)parameter == "R")
                    {
                        result = pixel.Color.R.ToString("X2");
                    }
                    if ((string)parameter == "G")
                    {
                        result = pixel.Color.G.ToString("X2");
                    }
                    if ((string)parameter == "B")
                    {
                        result = pixel.Color.B.ToString("X2");
                    }
                    if ((string)parameter == "E")
                    {
                        result = pixel.E.ToString(@"0.00", CultureInfo.InvariantCulture);
                    }
                }
            }
            return(result);
        } // Convert
コード例 #2
0
        } // EDiffRasterAffinityDetector

        /// <summary>
        /// Реализация метода получения значений реперных характеристик устойчивого блока, в качестве которого в данной реализации выступает пиксель растра.
        /// Реперной характеристикой в этой реализации является яркость пикселя в нормированном цветовом пространстве (0-1).
        /// </summary>
        /// <param name="pixel">Пиксель растра, соответствующий устойчивому блоку реперных характеристик.</param>
        /// <returns>Значение реперных характеристик пикселя. В данной реализации - яркость пикселя в нормированном цветовом пространстве (0-1).</returns>
        protected override object GetPixelValue(Raster.Pixel pixel)
        {
            return(pixel.E);
        } // GetPixelValue
コード例 #3
0
 /// <summary>
 /// Конструктор.
 /// </summary>
 /// <param name="pixel">Пиксель растра, представляющий данный устойчивый блок.
 /// Важно! При переборе пикселей растра через RasterEnumerator экземпляр текущего пикселя не меняется, меняются только значения его свойств.
 /// Это существенно влияет на реализацию получения значений Keys и Values. По сути данный класс является просто оберткой над классом пикселя,
 /// обеспечивающей требуемую степень абстракции.</param>
 /// <param name="getKey">Метод получения ключа, представляющего собой положение пикселя в растре в виде его координат.</param>
 /// <param name="getValue">Метод получения совокупности значений реперных характеристик пикселя в растре.</param>
 public PixelAffinityBlock(Raster.Pixel pixel, Func <Raster.Pixel, object> getKey, Func <Raster.Pixel, object> getValue)
 {
     Pixel    = pixel;
     GetKey   = getKey;
     GetValue = getValue;
 } // PixelAffinityBlock