public static void ProcessFile(IProcessorItem item) { var bitmap = new Bitmap(item.Source); bitmap = ProcessBitmap(bitmap, item.Correction); bitmap.Save(Path.ChangeExtension(item.Destination, "jpg"), new JpegSettings(100)); bitmap.Dispose(); }
public static void ProcessImage(IProcessorItem item) { using (ImageReader reader = ImageReader.Create(item.Source)) using (var contrast = new Contrast(item.Correction.Contrast)) using (var levels = new Levels(item.Correction.Black, item.Correction.White, item.Correction.Shadow, item.Correction.Midpoint, item.Correction.Highlight, HistogramMode.Luminosity)) using (var color = new ChannelBalance()) using (var rotate = new Rotate(item.Correction.Rotate)) using (var saturation = new AdjustHsl(0f, item.Correction.Saturation, 0f)) using (var writer = new JpegWriter(Path.ChangeExtension(item.Destination, "jpg"), 99)) { color.Addends = new float[3] { item.Correction.Blue, item.Correction.Green, item.Correction.Red }; color.Multipliers = new float[3] { 1f, 1f, 1f }; writer.UseSubsampling = false; Pipeline.Run(reader + contrast + levels + color + rotate + saturation + writer); } }
public ProcessorItem(IProcessorItem processorItem) { Correction = processorItem.Correction; Destination = processorItem.Destination; Source = processorItem.Source; }