private void txtInputHi_ValueChanged(object sender, System.EventArgs e) { gradientInput.SetValue(1, (int)inputHiUpDown.Value); if (ignore == 0) { ignore++; UpdateLevels(); ignore--; } }
protected override void InitDialogFromToken(EffectConfigToken effectToken) { UnaryPixelOps.Level levels = ((LevelsEffectConfigToken)effectToken).Levels; float gamma = MaskGamma(levels); int lo = MaskAvg(levels.ColorOutLow); int hi = MaskAvg(levels.ColorOutHigh); int md = (int)(lo + (hi - lo) * Math.Pow(0.5, gamma)); outputHiUpDown.Value = hi; outputGammaUpDown.Value = (decimal)gamma; outputLowUpDown.Value = lo; inputHiUpDown.Value = MaskAvg(levels.ColorInHigh); inputLoUpDown.Value = MaskAvg(levels.ColorInLow); gradientOutput.SetValue(0, lo); gradientOutput.SetValue(1, md); gradientOutput.SetValue(2, hi); swatchInHigh.BackColor = levels.ColorInHigh.ToColor(); swatchInLow.BackColor = levels.ColorInLow.ToColor(); swatchOutMid.BackColor = levels.Apply(((HistogramRgb)histogramInput.Histogram).GetMeanColor()).ToColor(); swatchOutMid.Invalidate(); swatchOutHigh.BackColor = levels.ColorOutHigh.ToColor(); swatchOutLow.BackColor = levels.ColorOutLow.ToColor(); }