Enhance image processing performance and flexibility by introducing atomic counters, improving file pattern matching, and refining logo positioning logic.

This commit is contained in:
MaddoScientisto 2026-02-10 21:18:46 +01:00
commit 68c1106f65
8 changed files with 134 additions and 68 deletions

View file

@ -88,7 +88,28 @@ namespace MaddoShared
DirectoryInfo destDir;
destDir = new DirectoryInfo(Path.Combine(dirDest.FullName));
foreach (FileInfo file in dir.GetFiles(filter))
// Support multiple patterns separated by ';' or ','
var patterns = (filter ?? "*").Split(new[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries).Select(p => p.Trim()).ToArray();
// Collect matching files for all patterns and avoid duplicates
var matchedFiles = new List<FileInfo>();
foreach (var pat in patterns)
{
try
{
matchedFiles.AddRange(dir.GetFiles(pat));
}
catch
{
// Ignore pattern errors and continue
}
}
// Remove duplicates (by FullName)
var distinctFiles = matchedFiles.GroupBy(f => f.FullName, StringComparer.OrdinalIgnoreCase).Select(g => g.First()).OrderBy(f => f.Name).ToList();
foreach (FileInfo file in distinctFiles)
{
contaFilePerDir += 1;