Updated text rendering logic to center each line horizontally
based on its estimated width, ensuring multi-line text is
visually centered. Previously, all lines were drawn at a fixed
horizontal position. Both shadow and main text now use the
calculated centered position.
- Use vertical text variant (TestoFirmaV) for rotated images to ensure correct orientation of overlays.
- Adjust font sizing logic for multi-line text to better fit within image bounds, accounting for line count and spacing.
- Set rotation flags (FotoRuotaADestra, FotoRuotaASinistra) before drawing text, enabling correct text variant selection.
- Ensure vertical text field is initialized from settings for consistent behavior.
Ensures EXIF orientation is cleared when cloning and after rotation,
preventing incorrect display in EXIF-aware viewers. Failures are
logged as debug messages without interrupting processing.
- Enhance ImageCreatorAlternate to support multi-line text rendering with correct sizing, spacing, and shadow for each line.
- Only draw logos on non-thumbnail images to match GDI behavior.
- Add a status bar to MainWindow showing the app version at runtime.
- Upgrade MinVer to 7.0.0 and adjust versioning to avoid WPF/XAML assembly identity issues.
- Refactor XAML layout to accommodate the new status bar.
Replaced multiple mutually-exclusive boolean properties for thumbnail text options with a single enum (`ThumbnailOption`) in the data model. Updated WinForms UI to use a ComboBox instead of radio buttons for selecting thumbnail mode. Adjusted designer, mapping profile, settings DTO, and settings service for enum support and backward compatibility. Simplified thumbnail generation logic and improved maintainability by ensuring only one mode can be selected at a time.
- 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.
Introduce UI option to choose between System.Graphics and ImageSharp for image processing. Update DataModel and MainForm for robust binding and synchronization. Rewrite ImageCreatorAlternate to use ImageSharp for core operations and GDI+ for overlays. Remove test buttons, add radio group for library selection. Update project dependencies to support new features and modernize image handling.
Introduce IImageCreator interface for image creation, and update ImageCreatorSharp to implement it. Add ImageCreatorAlternate (adapter) and ImageCreatorMapper (runtime selector) classes. Extend PicSettings with ImageCreatorProvider to control backend selection. Update DI registrations and refactor ImageCreationStuff to depend on IImageCreator, enabling backend switching via configuration.
- Added GitVersion for semantic versioning and build metadata
- Introduced IVersionProvider and VersionProvider for UI-friendly version display
- MainForm now uses IVersionProvider for version label
- Registered VersionProvider in DI container
- Improved logging: filtered out AutoMapper license logs
- General code cleanup in Program.cs
- Added MaddoShared.Benchmarks project with BenchmarkDotNet for comprehensive image processing performance tests (parallel, chunk, size, stress).
- Included helper for generating test images and custom configs to ensure InProcess toolchain for .NET Windows compatibility.
- Added cross-platform scripts to run benchmarks easily.
- Updated .gitignore for benchmark artifacts and temp files.
- Exposed GetFilesToProcessPublic in ImageCreationStuff for testability.
- Added file name sanitization in ImageCreatorSharp to prevent IO errors.
- Enhanced WinForms UI: added "Open" buttons for source/destination folders, handled folder opening in Explorer, and improved user messaging and layout.
- Updated solution file to include new benchmark project.