Пример #1
0
        public static void MarkImages(string inputFolderName, string inputWatermarkName, string outputFolderName, bool forceWrite = true)
        {
            var waterBulkArgs = new WatermarkBulkArgs()
            {
                InputFolder     = inputFolderName,
                InputWaterImage = inputWatermarkName,
                OutputFolder    = outputFolderName,
                ForceWrite      = forceWrite
            };

            MarkImages(waterBulkArgs);
        }
Пример #2
0
        public static void MarkImages(WatermarkBulkArgs waterBulkArgs)
        {
            if (string.IsNullOrEmpty(waterBulkArgs.InputFolder) || Directory.Exists(waterBulkArgs.InputFolder) == false)
            {
                _Log.WriteException($"{nameof(waterBulkArgs.InputFolder)} does not exists : [{waterBulkArgs.InputFolder}]");
                return;
            }
            if (string.IsNullOrEmpty(waterBulkArgs.InputWaterImage) || File.Exists(waterBulkArgs.InputWaterImage) == false)
            {
                _Log.WriteException($"{nameof(waterBulkArgs.InputWaterImage)} does not exists : [{waterBulkArgs.InputWaterImage}]");
                return;
            }
            if (string.IsNullOrEmpty(waterBulkArgs.OutputFolder) || Directory.Exists(waterBulkArgs.OutputFolder) == false)
            {
                _Log.WriteException($"{nameof(waterBulkArgs.OutputFolder)} does not exists : [{waterBulkArgs.OutputFolder}]");
                return;
            }

            _Log.WriteInfo($"Input folder : {waterBulkArgs.InputFolder}");
            _Log.WriteInfo($"Input water : {waterBulkArgs.InputWaterImage}");
            _Log.WriteInfo($"Output folder : {waterBulkArgs.OutputFolder}");
            _Log.WriteInfo($"Force write : {waterBulkArgs.ForceWrite}");
            _Log.WriteInfo($"Watermark scale : {waterBulkArgs.WaterScale}");

            var inputImagesPaths = ImageHelper.GetAllImages(waterBulkArgs.InputFolder);

            if (inputImagesPaths == null || inputImagesPaths.Count == 0)
            {
                _Log.WriteWarning($"No images found in {nameof(waterBulkArgs.InputFolder)} directory : {waterBulkArgs.InputFolder}");
                return;
            }

            var waterArgs = inputImagesPaths.Select(
                (i, index) => new WatermarkArgs
            {
                InputBaseImage  = i,
                OutputImage     = Path.Combine(waterBulkArgs.OutputFolder, $"{Path.GetFileNameWithoutExtension(i)}_W.png"),
                InputWaterImage = waterBulkArgs.InputWaterImage,
                ForceWrite      = waterBulkArgs.ForceWrite,
                ParentTask      = waterBulkArgs.ParentTask,
                WaterScale      = waterBulkArgs.WaterScale
            });

            waterBulkArgs.ParentTask?.ResetProgress(waterArgs.Count());

            MarkImages(waterArgs);
        }