예제 #1
0
파일: DialogColor.cs 프로젝트: Z1ni/ShareX
 public void SetCurrentColor(Color currentColor)
 {
     oldColorExist = true;
     colorPicker.DrawCrosshair = lblOld.Visible = oldColorExist;
     NewColor = OldColor = currentColor;
     colorPicker.ChangeColor(currentColor);
     nudAlpha.Value = currentColor.A;
     DrawPreviewColors();
 }
예제 #2
0
        private void UpdateControls(MyColor color, ColorType type)
        {
            DrawPreviewColors();
            controlChangingColor = true;

            if (type != ColorType.HSB)
            {
                nudHue.Value        = (decimal)Math.Round(color.HSB.Hue360);
                nudSaturation.Value = (decimal)Math.Round(color.HSB.Saturation100);
                nudBrightness.Value = (decimal)Math.Round(color.HSB.Brightness100);
            }

            if (type != ColorType.RGBA)
            {
                nudRed.Value   = color.RGBA.Red;
                nudGreen.Value = color.RGBA.Green;
                nudBlue.Value  = color.RGBA.Blue;
                nudAlpha.Value = color.RGBA.Alpha;
            }

            if (type != ColorType.CMYK)
            {
                nudCyan.Value    = (decimal)color.CMYK.Cyan100;
                nudMagenta.Value = (decimal)color.CMYK.Magenta100;
                nudYellow.Value  = (decimal)color.CMYK.Yellow100;
                nudKey.Value     = (decimal)color.CMYK.Key100;
            }

            if (type != ColorType.Hex)
            {
                txtHex.Text = ColorHelpers.ColorToHex(color);
            }

            if (type != ColorType.Decimal)
            {
                txtDecimal.Text = ColorHelpers.ColorToDecimal(color).ToString();
            }

            controlChangingColor = false;
        }
예제 #3
0
 public ColorEventArgs(MyColor color, DrawStyle drawStyle)
 {
     Color     = color;
     DrawStyle = drawStyle;
 }
예제 #4
0
 public override void GetSliderColor(Point lastPos, MyColor selectedColor, int ClientWidth, int ClientHeight)
 {
     selectedColor.HSB.Brightness = 1.0 - (double)lastPos.Y / (ClientHeight - 1);
     selectedColor.HSBUpdate();
 }
예제 #5
0
 public ColorEventArgs(MyColor color, ColorType colorType)
 {
     Color     = color;
     ColorType = colorType;
 }
예제 #6
0
 public override void SetSliderMarker(Point lastPos, MyColor SelectedColor, int ClientHeight)
 {
     lastPos.Y = (ClientHeight - 1) - Round((ClientHeight - 1) * SelectedColor.HSB.Brightness);
 }
예제 #7
0
 public override void GetBoxColor(Point lastPos, MyColor selectedColor, int ClientWidth, int ClientHeight)
 {
     selectedColor.HSB.Hue        = (double)lastPos.X / (ClientWidth - 1);
     selectedColor.HSB.Saturation = 1.0 - (double)lastPos.Y / (ClientHeight - 1);
     selectedColor.HSBUpdate();
 }
예제 #8
0
 public override void GetBoxColor(Point lastPos, MyColor selectedColor, int ClientWidth, int ClientHeight)
 {
     selectedColor.RGBA.Blue  = Round(255 * (double)lastPos.X / (ClientWidth - 1));
     selectedColor.RGBA.Green = Round(255 * (1.0 - (double)lastPos.Y / (ClientHeight - 1)));
     selectedColor.RGBAUpdate();
 }
예제 #9
0
 public override void SetBoxMarker(Point lastPos, MyColor SelectedColor, int ClientWidth, int ClientHeight)
 {
     lastPos.X = Round((ClientWidth - 1) * (double)SelectedColor.RGBA.Blue / 255);
     lastPos.Y = Round((ClientHeight - 1) * (1.0 - (double)SelectedColor.RGBA.Green / 255));
 }
예제 #10
0
파일: DialogColor.cs 프로젝트: Z1ni/ShareX
        private void UpdateControls(MyColor color, ColorType type)
        {
            DrawPreviewColors();
            controlChangingColor = true;

            if (type != ColorType.HSB)
            {
                nudHue.Value = (decimal)Math.Round(color.HSB.Hue360);
                nudSaturation.Value = (decimal)Math.Round(color.HSB.Saturation100);
                nudBrightness.Value = (decimal)Math.Round(color.HSB.Brightness100);
            }

            if (type != ColorType.RGBA)
            {
                nudRed.Value = color.RGBA.Red;
                nudGreen.Value = color.RGBA.Green;
                nudBlue.Value = color.RGBA.Blue;
                nudAlpha.Value = color.RGBA.Alpha;
            }

            if (type != ColorType.CMYK)
            {
                nudCyan.Value = (decimal)color.CMYK.Cyan100;
                nudMagenta.Value = (decimal)color.CMYK.Magenta100;
                nudYellow.Value = (decimal)color.CMYK.Yellow100;
                nudKey.Value = (decimal)color.CMYK.Key100;
            }

            if (type != ColorType.Hex)
            {
                txtHex.Text = ColorHelpers.ColorToHex(color);
            }

            if (type != ColorType.Decimal)
            {
                txtDecimal.Text = ColorHelpers.ColorToDecimal(color).ToString();
            }

            controlChangingColor = false;
        }
예제 #11
0
 public void ChangeColor(Color color, ColorType colorType = ColorType.None)
 {
     SelectedColor = color;
     OnColorChanged(colorType);
 }
예제 #12
0
 public abstract void GetSliderColor(Point lastPos, MyColor selectedColor, int ClientWidth, int ClientHeight);
예제 #13
0
 private void colorBox_ColorChanged(object sender, ColorEventArgs e)
 {
     selectedColor             = e.Color;
     colorSlider.SelectedColor = SelectedColor;
     OnColorChanged();
 }
예제 #14
0
 public abstract void SetSliderMarker(Point lastPos, MyColor SelectedColor, int ClientHeight);
예제 #15
0
 public abstract void SetBoxMarker(Point lastPos, MyColor SelectedColor, int ClientWidth, int ClientHeight);
예제 #16
0
 public override void GetSliderColor(Point lastPos, MyColor selectedColor, int ClientWidth, int ClientHeight)
 {
     selectedColor.RGBA.Red = 255 - Round(255 * (double)lastPos.Y / (ClientHeight - 1));
     selectedColor.RGBAUpdate();
 }
예제 #17
0
 public ColorEventArgs(MyColor color, ColorType colorType)
 {
     Color = color;
     ColorType = colorType;
 }
예제 #18
0
 private void colorPicker_ColorChanged(object sender, ColorEventArgs e)
 {
     NewColor = e.Color;
     UpdateControls(NewColor, e.ColorType);
 }
예제 #19
0
 public ColorEventArgs(MyColor color, DrawStyle drawStyle)
 {
     Color = color;
     DrawStyle = drawStyle;
 }
예제 #20
0
 public override void SetSliderMarker(Point lastPos, MyColor SelectedColor, int ClientHeight)
 {
     lastPos.Y = (ClientHeight - 1) - Round((ClientHeight - 1) * (double)SelectedColor.RGBA.Red / 255);
 }
예제 #21
0
 private void colorSlider_ColorChanged(object sender, ColorEventArgs e)
 {
     selectedColor = e.Color;
     colorBox.SelectedColor = SelectedColor;
     OnColorChanged();
 }
예제 #22
0
        protected virtual void Initialize()
        {
            SuspendLayout();

            DoubleBuffered = true;
            ClientWidth = this.ClientRectangle.Width;
            ClientHeight = this.ClientRectangle.Height;
            bmp = new Bitmap(ClientWidth, ClientHeight, PixelFormat.Format32bppArgb);
            SelectedColor = Color.Red;
            DrawStyle = DrawStyle.Hue;

            mouseMoveTimer = new Timer();
            mouseMoveTimer.Interval = 10;
            mouseMoveTimer.Tick += new EventHandler(MouseMoveTimer_Tick);

            ClientSizeChanged += new EventHandler(EventClientSizeChanged);
            MouseDown += new MouseEventHandler(EventMouseDown);
            MouseEnter += new EventHandler(EventMouseEnter);
            MouseUp += new MouseEventHandler(EventMouseUp);
            Paint += new PaintEventHandler(EventPaint);

            ResumeLayout(false);
        }
예제 #23
0
 public override void SetBoxMarker(Point lastPos, MyColor SelectedColor, int ClientWidth, int ClientHeight)
 {
     lastPos.X = Round((ClientWidth - 1) * SelectedColor.HSB.Hue);
     lastPos.Y = Round((ClientHeight - 1) * (1.0 - SelectedColor.HSB.Saturation));
 }
예제 #24
0
 private void colorPicker_ColorChanged(object sender, ColorEventArgs e)
 {
     NewColor = e.Color;
     UpdateControls(NewColor, e.ColorType);
 }