public override void Execute(List <string> arguments, Models model)
        {
            var reader = new ParameterReader(arguments);
            var mode   = reader.ReadEnum <StatMode>("min/max/avg", StatMode.avg);
            var type   = reader.ReadEnum <StatType>("luminance/luma/avg/lightness", StatType.avg);

            reader.ExpectNoMoreArgs();

            model.Apply();
            var stats = model.GetStatistics(model.Pipelines[0].Image);

            switch (type)
            {
            case StatType.luminance:
                Print(stats.Luminance, mode);
                break;

            case StatType.luma:
                Print(stats.Luma, mode);
                break;

            case StatType.avg:
                Print(stats.Average, mode);
                break;

            case StatType.lightness:
                Print(stats.Lightness, mode);
                break;

            default: throw new Exception("unknown type " + type);
            }
        }
Beispiel #2
0
        public override void Execute(List <string> arguments, Models model)
        {
            var reader   = new ParameterReader(arguments);
            var filename = reader.ReadString("filename");
            var format   = reader.ReadEnum <GliFormat>("gliFormat");

            reader.ExpectNoMoreArgs();

            // split filename
            var splitIdx = filename.LastIndexOf('.');

            if (splitIdx < 0)
            {
                throw new Exception($"{filename} missing file extension");
            }

            var leftFile  = filename.Substring(0, splitIdx);
            var rightFile = filename.Substring(splitIdx + 1);

            model.ExportPipelineImage(leftFile, rightFile, format);
        }
Beispiel #3
0
        public override void Execute(List <string> arguments, Models model)
        {
            var reader   = new ParameterReader(arguments);
            var filename = reader.ReadString("filename");
            var format   = reader.ReadEnum <GliFormat>("gliFormat");

            reader.ExpectNoMoreArgs();

            // split filename
            var splitIdx = filename.LastIndexOf('.');

            if (splitIdx < 0)
            {
                throw new Exception($"{filename} missing file extension");
            }

            var leftFile  = filename.Substring(0, splitIdx);
            var rightFile = filename.Substring(splitIdx + 1);

            if (!model.Pipelines[0].IsValid)
            {
                throw new Exception("image formula is invalid.");
            }

            // apply changes before exporting
            model.Apply();
            var desc = new ExportDescription(model.Pipelines[0].Image, leftFile, rightFile)
            {
                FileFormat  = format,
                UseCropping = UseCropping,
                CropStart   = CropStart,
                CropEnd     = CropEnd,
                Quality     = Quality,
                Layer       = Layer,
                Mipmap      = Mipmap
            };

            model.Export.Export(desc);
        }