public Correction(ICorrection ic) { _blue = new ColorValue(ic.Blue); _green = new ColorValue(ic.Green); _red = new ColorValue(ic.Red); _black = new LevelsValue(ic.Black); _shadow = new LevelsValue(ic.Shadow); _highlight = new LevelsValue(ic.Highlight); _white = new LevelsValue(ic.White); _midpoint = new MidtoneValue(ic.Midpoint); _contrast = new ContrastValue(ic.Contrast); _saturation = new SaturationValue(ic.Saturation); _rotate = new RotationValue(ic.Rotate); }
void CallCorrecionWindow(ICorrection window) { Form asForm = window as Form; asForm.ShowInTaskbar = false; window.SetPicture(currentImage); if (asForm.ShowDialog() == DialogResult.OK) { undoImage = currentImage.Clone() as Bitmap; pictureBoxMain.Image = window.GetPicture(); currentImage = pictureBoxMain.Image.Clone() as Bitmap; redoImage = currentImage.Clone() as Bitmap; } }
public static Bitmap ProcessBitmap(Bitmap bitmap, ICorrection icorrection) { // Make the adjustments. if (icorrection.Contrast != 0) { bitmap.ColorAdjustment.Contrast(icorrection.Contrast); } if ((icorrection.Black != 0) || (icorrection.White != 1) || (icorrection.Shadow != 0) || (icorrection.Midpoint != 1) || (icorrection.Highlight != 1)) { bitmap.ColorAdjustment.Levels(icorrection.Black, icorrection.White, icorrection.Shadow, icorrection.Midpoint, icorrection.Highlight, HistogramMode.Luminosity); } if ((icorrection.Blue != 0) || (icorrection.Green != 0) || (icorrection.Red != 0)) { bitmap.ColorAdjustment.ChannelBalance(new Single[3] { icorrection.Blue, icorrection.Green, icorrection.Red }, new Single[3] { 1f, 1f, 1f }); } if (icorrection.Rotate != 0) { bitmap.Transforms.Rotate(icorrection.Rotate); } if (icorrection.Saturation != 0) { bitmap.ColorAdjustment.AdjustHsl(0, icorrection.Saturation, 0); } return bitmap; }