public TaskInfo(long ID, byte[] WorkDll, string ReturnIP, int ReturnPort, ReduceOptions reduceOption = ReduceOptions.NONE, MappingOptions mapOption = MappingOptions.NONE)
     : this(reduceOption, mapOption)
 {
     this.ID = ID;
     this.WorkDLL = WorkDll;
     this.ReturnIP = ReturnIP;
     this.ReturnPort = ReturnPort;
 }
        public static IReducer CreateReducer(ReduceOptions option)
        {
            IReducer picked = null;

            switch(option)
            {
                case ReduceOptions.SUM:
                {
                    picked = new SumReducer();
                    break;
                }
                case ReduceOptions.MAX:
                {
                    picked = new MaxReducer();
                    break;
                }
                case ReduceOptions.MIN:
                {
                    picked = new MinReducer();
                    break;
                }
                case ReduceOptions.CONCAT:
                {
                    picked = new ConcatReducer();
                    break;
                }
                case ReduceOptions.AVERAGE:
                {
                    picked = new AverageReducer();
                    break;
                }
                case ReduceOptions.COUNT:
                {
                    picked = new CountReducer();
                    break;
                }
                default:
                {
                    picked = null;
                    break;
                }
            }

            return picked;
        }
示例#3
0
文件: MainForm.cs 项目: rajbindu/misc
        private void reduceImagesAsync()
        {
            DisableUIForRun();
            List <ReduceOptions> optionsList = new List <ReduceOptions>();

            foreach (ListViewItem item in listView.Items)
            {
                // Save reduced file to a subdirectory called "Reduced" in the same location
                // as the input.
                // e.g. c:\users\public\Accusoft\Common\Images\akuma.jpg -> c:\users\public\Accusoft\Common\Images\Reduced\akuma.jpg
                //

                string inputPath       = item.SubItems[COLUMN_FILENAME].Text;
                string inputFileName   = Path.GetFileName(inputPath);
                string inputDirectory  = Path.GetDirectoryName(inputPath);
                string outputDirectory = Path.Combine(inputDirectory, "Reduced");

                if (IsFileExtensionJpeg(inputPath))
                {
                    JpegReduceOptions options = new JpegReduceOptions();
                    options.inputPath         = inputPath;
                    options.outputPath        = Path.Combine(outputDirectory, inputFileName);
                    options.jpegQualityFactor = _jpegQualityFactor;
                    options.transformMode     = _transformMode;

                    optionsList.Add(options);
                }
                else if (IsFileExtensionPng(inputPath))
                {
                    ReduceOptions options = new ReduceOptions();
                    options.inputPath  = inputPath;
                    options.outputPath = Path.Combine(outputDirectory, inputFileName);

                    optionsList.Add(options);
                }
            }
            backgroundWorker.RunWorkerAsync(optionsList);
        }
 public TaskInfo(ReduceOptions reduceOption, MappingOptions mapOption)
 {
     this.reduceOption = reduceOption;
     this.mapOption = mapOption;
 }