//rgb変更時 private void UpDownRGB_MyValueChanged(object sender, MyValueChangedEventArgs e) { IsRgbChanging = true; if (IsHsvChanging != true) { var iHsv = HSV.Color2HSV(R, G, B); if (UpDownH.Value != (int)iHsv.Hue) { UpDownH.Value = (int)iHsv.Hue; SetImageSV(iHsv.Hue); } UpDownS.Value = (int)(iHsv.Saturation * ImageSize); UpDownV.Value = (int)(iHsv.Value * ImageSize); Canvas.SetLeft(ThumbPicker, UpDownS.Value - ThumbSize / 2f); Canvas.SetTop(ThumbPicker, UpDownV.Value - ThumbSize / 2f); } IsRgbChanging = false; }
//HSV変更時 private void UpDownHSV_MyValueChanged(object sender, MyValueChangedEventArgs e) { IsHsvChanging = true; if (IsRgbChanging != true) { IntegerUpDown.IntegerUpDown ud = (IntegerUpDown.IntegerUpDown)sender; if (ud == UpDownH) { SetImageSV(UpDownH.Value); } var s = UpDownS.Value / (double)ImageSize; var v = UpDownV.Value / (double)ImageSize; Canvas.SetLeft(ThumbPicker, s * ImageSize - ThumbSize / 2f); Canvas.SetTop(ThumbPicker, v * ImageSize - ThumbSize / 2f); var col = HSV.HSV2Color(UpDownH.Value, s, v); R = col.R; G = col.G; B = col.B; } IsHsvChanging = false; }