Example #1
0
 /// <summary>
 /// Square of distance between 2 RGB byte vectors.
 /// </summary>
 /// <param name="rgb1">RGB vector number 1.</param>
 /// <param name="rgb2">RGB vector number 2.</param>
 /// <returns>Square of distance</returns>
 public static int SquareOfDistance(Cip.Foundations.VectorRgb rgb1,
                                    Cip.Foundations.VectorRgb rgb2)
 {
     int sum = 0;
     int s0 = rgb1[0] - rgb2[0];
     int s1 = rgb1[1] - rgb2[1];
     int s2 = rgb1[2] - rgb2[2];
     sum += s0 * s0;
     sum += s1 * s1;
     sum += s2 * s2;
     return sum;
 }
Example #2
0
 public void SetPixel(int x, int y, Cip.Foundations.VectorRgb rgb)
 {
     if (_isAlpha)
     {
         index = ((y * _width + x) * 4);
         _rgbValues[index] = rgb.B;
         _rgbValues[index + 1] = rgb.G;
         _rgbValues[index + 2] = rgb.R;
         _rgbValues[index + 3] = 255;
     }
     else
     {
         index = ((y * _width + x) * 3);
         _rgbValues[index] = rgb.B;
         _rgbValues[index + 1] = rgb.G;
         _rgbValues[index + 2] = rgb.R;
     }
 }
Example #3
0
 /// <summary>
 /// Constructor with parameters.
 /// </summary>
 /// <param name="mode">
 /// mode can be 0 for fast (nearest pixel) method, 
 /// 1 for accurate (bicubic spline interpolation) method, 
 /// or 2 for slow (bilinear) method.</param>
 /// <param name="newx">New width.</param>
 /// <param name="newy">New height.</param>
 public Resample(int newx, int newy, Cip.Transformations.CipInterpolationMode mode)
 {
     this.newx = newx;
     this.newy = newy;
     this.mode = mode;
 }
Example #4
0
 /// <summary>
 /// Constructor with parameters.
 /// </summary>
 /// <param name="mode">
 /// mode can be 0 for fast (nearest pixel) method, 
 /// 1 for accurate (bicubic spline interpolation) method, 
 /// or 2 for slow (bilinear) method.</param>
 /// <param name="newSize">New size.</param>
 public Resample(System.Drawing.Size newSize, Cip.Transformations.CipInterpolationMode mode)
 {
     this.newx = newSize.Width;
     this.newy = newSize.Height;
     this.mode = mode;
 }
Example #5
0
 public void SetFilter(Cip.Foundations.ImageFilter filter)
 {
     this.filterPreview.Filter = filter;
 }
Example #6
0
 /// <summary>
 /// Distance between 2 RGB byte vectors.
 /// </summary>
 /// <param name="rgb1">RGB vector number 1.</param>
 /// <param name="rgb2">RGB vector number 2.</param>
 /// <returns>Double number, which represents distance.</returns>
 public static double Distance(Cip.Foundations.VectorRgb rgb1,
                               Cip.Foundations.VectorRgb rgb2)
 {
     return System.Math.Sqrt(Cip.CipMath.SquareOfDistance(rgb1, rgb2));
 }
Example #7
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="Mode">HSI or RGB colorspace.</param>
 /// <param name="radius">Range of mask.</param>
 public SmoothingFilter(Cip.Filters.ColorSpaceMode Mode, int radius)
 {
     mode = Mode;
     this.n = radius * 2 + 1;
 }