Beispiel #1
0
        private void ConfigureConveyor(IProcessorBuilder conveyor)
        {
            conveyor.SetPixelEnergyCalculator();

            conveyor.SetProcessor(
                context => SetImageToPictureBox(gradientPictureBox, context));

            conveyor.SetPixelPathsProcessor(vertical: true);

            conveyor.SetProcessor(
                context => SetImageToPictureBox(pixelPathPictureBox, context));

            conveyor.SetShortestPathFinder(vertical: true);

            conveyor.SetProcessor(MarkShortestPathAsRed);

            conveyor.SetProcessor(
                context => SetImageToPictureBox(shortestPathPictureBox, context));
        }
Beispiel #2
0
        public static IProcessorBuilder SetShortestPathRemover(this IProcessorBuilder builder, bool vertical)
        {
            IProcessor shortestPathRemover;

            if (vertical)
            {
                shortestPathRemover = new ShortestPathRemover();
            }
            else
            {
                shortestPathRemover = new HorizontalShortestPathRemover();
            }

            return(builder.SetProcessor(shortestPathRemover));
        }
Beispiel #3
0
        public static IProcessorBuilder SetPixelPathsProcessor(this IProcessorBuilder builder, bool vertical)
        {
            IProcessor pixelPathsProcessor;

            if (vertical)
            {
                pixelPathsProcessor = new PixelPathsProcessor();
            }
            else
            {
                pixelPathsProcessor = new HorizontalPixelPathsProcessor();
            }

            return(builder.SetProcessor(pixelPathsProcessor));
        }
Beispiel #4
0
 public static IProcessorBuilder SetPixelEnergyCalculator(this IProcessorBuilder builder)
 {
     return(builder.SetProcessor(new PixelEnergyCalculator()));
 }
Beispiel #5
0
 public static IProcessorBuilder SetProcessor(this IProcessorBuilder builder, Action <ProcessingContext> processingAction)
 {
     return(builder.SetProcessor(new GenericProcessor(processingAction)));
 }
Beispiel #6
0
 public static IProcessorBuilder SetJpegImageSaver(this IProcessorBuilder builder, int width, int height)
 {
     return(builder.SetProcessor(new JpegImageSaver(width, height)));
 }