private void CalculateMap(Range inRange, Range outRange, byte[] map) { double num = 0.0; double num2 = 0.0; if (inRange.Max != inRange.Min) { num = ((double) (outRange.Max - outRange.Min)) / ((double) (inRange.Max - inRange.Min)); num2 = outRange.Min - (num * inRange.Min); } for (int i = 0; i < 0x100; i++) { byte max = (byte) i; if (max >= inRange.Max) { max = (byte) outRange.Max; } else if (max <= inRange.Min) { max = (byte) outRange.Min; } else { max = (byte) ((num * max) + num2); } map[i] = max; } }
public ColorFiltering() { this.red = new Range(0, 0xff); this.green = new Range(0, 0xff); this.blue = new Range(0, 0xff); this.fillOutsideRange = true; }
public HSLFiltering() { this.hue = new Range(0, 0x167); this.saturation = new RangeD(0.0, 1.0); this.luminance = new RangeD(0.0, 1.0); this.fillOutsideRange = true; this.updateH = true; this.updateS = true; this.updateL = true; }
public ColorFiltering(Range red, Range green, Range blue) { this.red = new Range(0, 0xff); this.green = new Range(0, 0xff); this.blue = new Range(0, 0xff); this.fillOutsideRange = true; this.red = red; this.green = green; this.blue = blue; }
public void FrequencyFilter(Range range) { if (this.fmode) { int num = this.width >> 1; int num2 = this.height >> 1; int min = (int)range.Min; int max = (int)range.Max; for (int i = 0; i < this.height; i++) { int num6 = i - num2; for (int j = 0; j < this.width; j++) { int num8 = j - num; int num9 = (int)Math.Sqrt((double)((num8 * num8) + (num6 * num6))); if ((num9 > max) || (num9 < min)) { this.data[i, j].Re = 0f; this.data[i, j].Im = 0f; } } } } }