Add color-key transparency support for logo overlays

- Allow users to select a transparent color for logo images (watermarks) via UI (checkbox, color picker, preview).
- Apply color-key transparency in both System.Drawing and ImageSharp backends: specified color in logo is made fully transparent.
- Persist transparency settings in PicSettings and SettingsDto; bind to DataModel and UI controls.
- Update logo preview to reflect transparency in real time.
- Add option to select image processing library (System.Drawing or ImageSharp) in UI and settings.
- Fix bug in SettingsService parameter loading for int/double/DateTime.
- Fully integrate color-key transparency into image processing and settings serialization.
This commit is contained in:
MaddoScientisto 2026-02-15 11:13:23 +01:00
commit 8872080741
9 changed files with 732 additions and 168 deletions

View file

@ -44,6 +44,22 @@ public class PicSettings
public string LogoMargine { get; set; } = "0";
public string LogoPosizioneH { get; set; }
public string LogoPosizioneV { get; set; }
// Color key transparency: hex color string (e.g. #FFFFFF) and whether to use it for non-PNG logos
public string TransparentColorHex { get; set; } = "#FFFFFF";
public bool UseTransparentColorKey { get; set; } = false;
// Aliases to support automatic mapping from DataModel properties
public string TransparentColor
{
get => TransparentColorHex;
set => TransparentColorHex = value;
}
public bool UseTransparentColor
{
get => UseTransparentColorKey;
set => UseTransparentColorKey = value;
}
public bool FotoGrandeDimOrigina { get; set; }
public int AltezzaBig { get; set; }
public int LarghezzaBig { get; set; }