Exemplo n.º 1
0
        private void ResetHSLRGB()
        {
            int red,
                green,
                blue;

            switch (_baseColorComponent)
            {
            case ColorComponent.Hue:
                _hsb.S = _markerX / 255.0;
                _hsb.B = 1.0 - _markerY / 255.0;
                _rgb   = AdobeColors.HSB_to_RGB(_hsb);
                break;

            case ColorComponent.Saturation:
                _hsb.H = _markerX / 255.0;
                _hsb.B = 1.0 - _markerY / 255.0;
                _rgb   = AdobeColors.HSB_to_RGB(_hsb);
                break;

            case ColorComponent.Brightness:
                _hsb.H = _markerX / 255.0;
                _hsb.S = 1.0 - _markerY / 255.0;
                _rgb   = AdobeColors.HSB_to_RGB(_hsb);
                break;

            case ColorComponent.Red:
                blue  = _markerX;
                green = 255 - _markerY;
                _rgb  = Color.FromArgb(_rgb.R, green, blue);
                _hsb  = AdobeColors.RGB_to_HSB(_rgb);
                break;

            case ColorComponent.Green:
                blue = _markerX;
                red  = 255 - _markerY;
                _rgb = Color.FromArgb(red, _rgb.G, blue);
                _hsb = AdobeColors.RGB_to_HSB(_rgb);
                break;

            case ColorComponent.Blue:
                red   = _markerX;
                green = 255 - _markerY;
                _rgb  = Color.FromArgb(red, green, _rgb.B);
                _hsb  = AdobeColors.RGB_to_HSB(_rgb);
                break;
            }
        }
Exemplo n.º 2
0
        private AdobeColors.HSB GetColor(int x, int y)
        {
            AdobeColors.HSB _hsb = new AdobeColors.HSB();

            switch (_baseColorComponent)
            {
            case ColorComponent.Hue:
                _hsb.H = _hsb.H;
                _hsb.S = x / 255.0;
                _hsb.B = 1.0 - y / 255.0;
                break;

            case ColorComponent.Saturation:
                _hsb.S = _hsb.S;
                _hsb.H = x / 255.0;
                _hsb.B = 1.0 - (double)y / 255;
                break;

            case ColorComponent.Brightness:
                _hsb.B = _hsb.B;
                _hsb.H = x / 255.0;
                _hsb.S = 1.0 - (double)y / 255;
                break;

            case ColorComponent.Red:
                _hsb = AdobeColors.RGB_to_HSB(Color.FromArgb(_rgb.R, 255 - y, x));
                break;

            case ColorComponent.Green:
                _hsb = AdobeColors.RGB_to_HSB(Color.FromArgb(255 - y, _rgb.G, x));
                break;

            case ColorComponent.Blue:
                _hsb = AdobeColors.RGB_to_HSB(Color.FromArgb(x, 255 - y, _rgb.B));
                break;
            }

            return(_hsb);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Resets the controls color (both HSL and RGB variables) based on the current slider position
        /// </summary>
        private void ResetHSLRGB()
        {
            int height = this.Height - 9;

            switch (_baseColorComponent)
            {
            case ColorComponent.Hue:
                _hsb.H = 1.0 - (double)_markerStartY / height;
                _rgb   = AdobeColors.HSB_to_RGB(_hsb);
                break;

            case ColorComponent.Saturation:
                _hsb.S = 1.0 - (double)_markerStartY / height;
                _rgb   = AdobeColors.HSB_to_RGB(_hsb);
                break;

            case ColorComponent.Brightness:
                _hsb.B = 1.0 - (double)_markerStartY / height;
                _rgb   = AdobeColors.HSB_to_RGB(_hsb);
                break;

            case ColorComponent.Red:
                _rgb = Color.FromArgb(255 - (int)Math.Round(255 * (double)_markerStartY / height), _rgb.G, _rgb.B);
                _hsb = AdobeColors.RGB_to_HSB(_rgb);
                break;

            case ColorComponent.Green:
                _rgb = Color.FromArgb(_rgb.R, 255 - (int)Math.Round(255 * (double)_markerStartY / height), _rgb.B);
                _hsb = AdobeColors.RGB_to_HSB(_rgb);
                break;

            case ColorComponent.Blue:
                _rgb = Color.FromArgb(_rgb.R, _rgb.G, 255 - (int)Math.Round(255 * (double)_markerStartY / height));
                _hsb = AdobeColors.RGB_to_HSB(_rgb);
                break;
            }
        }