/// <summary> 
        /// Copy Constructor
        /// </summary>
        /// <param name="pic">imageEdit</param>
        public imageEdit(imageEdit pic)
        {
            image = new byte[pic.getHeight(), pic.getWidth(), 3];
            iH = pic.getHeight();
            iW = pic.getWidth();

            for (int i = 0; i < iH; i++)
                for (int j = 0; j < iW; j++)
                {
                    this.image[i, j, 0] = pic.image[i, j, 0];
                    this.image[i, j, 1] = pic.image[i, j, 1];
                    this.image[i, j, 2] = pic.image[i, j, 2];
                    this.image[i, j, 3] = pic.image[i, j, 3];
                }
        }
 /// <summary>
 /// Adjusts the blue levels of the image
 /// </summary>
 /// <param name="blue">Amount to Adjust the Blue Values</param>
 /// <param name="iE">Image to modify</param>
 private void AdjustBlue(int blue, imageEdit iE)
 {
     int value = 0;
     for (int i = 0; i < iE.getHeight(); i++)
         for (int j = 0; j < iE.getWidth(); j++)
         {
             //Blue
             value = data[i, j, 2] + blue;
             if (value > 255) value = 255;
             if (value < 0) value = 0;
             iE.image[i, j, 2] = (byte)value;
         }
 }
 /// <summary>
 /// Adjusts the Color levels of the image
 /// </summary>
 /// <param name="red">Amount to Adjust the Red Values</param>
 /// <param name="green">Amount to Adjust the Green Values</param>
 /// <param name="blue">Amount to Adjust the Blue Values</param>
 /// <param name="iE">Image to modify</param>
 private void AdjustColor(int red, int green, int blue, imageEdit iE)
 {
     int value = 0;
     for (int i = 0; i < iE.getHeight(); i++)
         for (int j = 0; j < iE.getWidth(); j++)
         {
             //Red
             value = data[i, j, 0] + red;
             if (value > 255) value = 255;
             if (value < 0) value = 0;
             iE.image[i, j, 0] = (byte)value;
             //Green
             value = data[i, j, 1] + green;
             if (value > 255) value = 255;
             if (value < 0) value = 0;
             iE.image[i, j, 1] = (byte)value;
             //Blue
             value = data[i, j, 2] + blue;
             if (value > 255) value = 255;
             if (value < 0) value = 0;
             iE.image[i, j, 2] = (byte)value;
         }
 }
 /// <summary>
 /// Corrects the Gamma intensity of the image
 /// </summary>
 /// <param name="gam">Gamma modifier</param>
 /// <param name="iE">imageEdit to be modified</param>
 private void GammaCorrection(double gam, imageEdit iE)
 {
     for (int i = 0; i < iE.getHeight(); i++)
         for (int j = 0; j < iE.getWidth(); j++)
         {
             //Red
             iE.image[i, j, 0] = (byte)(255 * Math.Pow(((double)data[i, j, 0] / 255.0), gam));
             //Green
             iE.image[i, j, 1] = (byte)(255 * Math.Pow(((double)data[i, j, 1] / 255.0), gam));
             //Blue
             iE.image[i, j, 2] = (byte)(255 * Math.Pow(((double)data[i, j, 2] / 255.0), gam));
         }
 }
 /// <summary>
 /// Adjusts the red levels of the image
 /// </summary>
 /// <param name="red">Amount to Adjust the Red Values</param>
 /// <param name="iE">Image to modify</param>
 private void AdjustRed(int red, imageEdit iE)
 {
     int value = 0;
     for (int i = 0; i < iE.getHeight(); i++)
         for (int j = 0; j < iE.getWidth(); j++)
         {
             //Red
             value = data[i, j, 0] + red;
             if (value > 255) value = 255;
             if (value < 0) value = 0;
             iE.image[i, j, 0] = (byte)value;
         }
 }
 /// <summary>
 /// Adjusts the green levels of the image
 /// </summary>
 /// <param name="green">Amount to Adjust the Green Values</param>
 /// <param name="iE">Image to modify</param>
 private void AdjustGreen(int green, imageEdit iE)
 {
     int value = 0;
     for (int i = 0; i < iE.getHeight(); i++)
         for (int j = 0; j < iE.getWidth(); j++)
         {
             //Green
             value = data[i, j, 1] + green;
             if (value > 255) value = 255;
             if (value < 0) value = 0;
             iE.image[i, j, 1] = (byte)value;
         }
 }