示例#1
0
 //--------------------------------------------------------------------
 public void gamma(IGammaFunction gamma_function)
 {
     for (int i = 0; i < (int)aa_scale_e.aa_scale; i++)
     {
         m_gamma[i] = (int)agg_basics.uround(gamma_function.GetGamma((double)(i) / (int)aa_scale_e.aa_mask) * (int)aa_scale_e.aa_mask);
     }
 }
示例#2
0
 //--------------------------------------------------------------------
 public void Gamma(IGammaFunction gamma_function)
 {
     for (int i = 0; i < (int)AAScale.Scale; i++)
     {
         m_gamma[i] = (int)Basics.RoundUint(gamma_function.GetGamma((double)(i) / (int)AAScale.Mask) * (int)AAScale.Mask);
     }
 }
 public LineProfileAnitAlias(double w, IGammaFunction gamma_function)
 {
     m_subpixel_width = 0;
     m_min_width = 1.0;
     m_smoother_width = 1.0;
     SetGamma(gamma_function);
     SetWidth(w);
 }
 public PrebuiltGammaTable(IGammaFunction gamma_function)
 {
     for (int i = ScanlineRasterizer.AA_SCALE - 1; i >= 0; --i)
     {
         _gammaLut[i] = AggMath.uround(
             gamma_function.GetGamma((float)(i) / ScanlineRasterizer.AA_MASK) * ScanlineRasterizer.AA_MASK);
     }
 }
示例#5
0
 //--------------------------------------------------------------------
 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);
     }
 }
示例#6
0
 public LineProfileAnitAlias(double w, IGammaFunction gamma_function)
 {
     m_subpixel_width = 0;
     m_min_width      = 1.0;
     m_smoother_width = 1.0;
     SetGamma(gamma_function);
     SetWidth(w);
 }
 void SetGamma(IGammaFunction gamma_function)
 {
     int i;
     for (i = 0; i < AA_SCALE; i++)
     {
         m_gamma[i] = (byte)(AggBasics.uround(gamma_function.GetGamma((float)(i) / AA_MASK) * AA_MASK));
     }
 }
示例#8
0
        void SetGamma(IGammaFunction gamma_function)
        {
            int i;

            for (i = 0; i < AA_SCALE; i++)
            {
                m_gamma[i] = (byte)(AggBasics.uround(gamma_function.GetGamma((float)(i) / AA_MASK) * AA_MASK));
            }
        }
示例#9
0
        public LineProfileAnitAlias(double w, IGammaFunction gamma_function)
        {
            //1. init value
            _subpixel_width = 0;
            _min_width      = 1.0;
            _smoother_width = 1.0;

            //2. set gamma before set width
            SetGamma(gamma_function);
            //3. set width table
            SetWidth(w);
        }
示例#10
0
 void SetGamma(IGammaFunction gamma_function)
 {
     //TODO:review gamma again***
     if (gamma_function == null)
     {
         m_gamma = s_gamma_none;
     }
     else
     {
         m_gamma = new byte[AA_SCALE];
         for (int i = AA_SCALE - 1; i >= 0; --i)
         {
             //pass i to gamma func ***
             m_gamma[i] = (byte)(AggBasics.uround(gamma_function.GetGamma((float)(i) / AA_MASK) * AA_MASK));
         }
     }
 }
示例#11
0
 public void gamma(IGammaFunction gamma_function)
 {
     throw new System.NotImplementedException();
 }
示例#12
0
 public void Gamma(IGammaFunction gammaFunction)
 {
     throw new NotImplementedException ();
 }
 public void gamma(IGammaFunction gamma_function)
 {
     throw new System.NotImplementedException();
 }
 //--------------------------------------------------------------------
 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);
     }
 }
示例#15
0
		//---------------------------------------------------------------------
		public void gamma(IGammaFunction gamma_function)
		{
			int i;
			for (i = 0; i < aa_scale; i++)
			{
				m_gamma[i] = (byte)(agg_basics.uround(gamma_function.GetGamma((double)(i) / aa_mask) * aa_mask));
			}
		}
示例#16
0
		//---------------------------------------------------------------------
		public LineProfileAnitAlias(double w, IGammaFunction gamma_function)
		{
			m_subpixel_width = (0);
			m_min_width = (1.0);
			m_smoother_width = (1.0);
			gamma(gamma_function);
			width(w);
		}
示例#17
0
		//--------------------------------------------------------------------
		public void gamma(IGammaFunction gamma_function)
		{
			for (int i = 0; i < (int)aa_scale_e.aa_scale; i++)
			{
				m_gamma[i] = (int)agg_basics.uround(gamma_function.GetGamma((double)(i) / (int)aa_scale_e.aa_mask) * (int)aa_scale_e.aa_mask);
			}
		}
示例#18
0
 public LineProfileAnitAlias(double w, IGammaFunction gamma_function)
     : this(w, new PreBuiltLineAAGammaTable(gamma_function))
 {
 }
示例#19
0
 public PreBuiltLineAAGammaTable(IGammaFunction generator) : this(generator.GetGamma)
 {
 }