/// <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; } }