public ColorRGBA(ColorRGBAf c) { red = ((byte)AggBasics.uround(c.red * (double)BASE_MASK)); green = ((byte)AggBasics.uround(c.green * (double)BASE_MASK)); blue = ((byte)AggBasics.uround(c.blue * (double)BASE_MASK)); alpha = ((byte)AggBasics.uround(c.alpha * (double)BASE_MASK)); }
//-------------------------------------------------------------------- public void ResetGamma(IGammaFunction gamma_function) { for (int i = AA_SCALE - 1; i >= 0; --i) { m_gammaLut[i] = (int)AggBasics.uround( gamma_function.GetGamma((float)(i) / AA_MASK) * AA_MASK); } }
public static ColorRGBA Make(double r_, double g_, double b_) { return(new ColorRGBA( ((byte)AggBasics.uround(r_ * (double)BASE_MASK)), ((byte)AggBasics.uround(g_ * (double)BASE_MASK)), ((byte)AggBasics.uround(b_ * (double)BASE_MASK)), ((byte)AggBasics.uround(BASE_MASK)))); }
void SetGamma(float g) { m_gamma = g; float inv_g = (float)(1.0 / g); for (int i = GAMMA_SIZE - 1; i >= 0; --i) { m_dir_gamma[i] = (byte)AggBasics.uround(Math.Pow(i / (float)GAMMA_MASK, m_gamma) * (float)GAMMA_MASK); m_inv_gamma[i] = (byte)AggBasics.uround(Math.Pow(i / (float)GAMMA_MASK, inv_g) * (float)GAMMA_MASK); } }