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); }
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); }