sclass SinglePixelPosterizer is IPosterizer { int brightnessLevels; double factor1, factor2; settable double drift; // between -0.5 and 0.5 *(int *brightnessLevels) { factor1 = doubleRatio(brightnessLevels, 256); factor2 = doubleRatio(255, brightnessLevels-1); } // 0..255 to 0..255 public int get(int brightness) { ret clampUByte(iround(ifloor(brightness*factor1+drift)*factor2)); } [stdEq] }