Commit graph

23 commits

Author SHA1 Message Date
10cc574acb Add WPF UI alongside WinForms; improve cancellation logic
Introduced MainWindow.xaml and code-behind for a modern WPF interface with tabbed settings. Enabled WPF in project file. Refactored startup to launch WPF or WinForms UI based on availability. Registered WPF MainWindow in DI. Improved DataModel cancellation to be synchronous and log exceptions. Minor logging and comment updates. App now supports both WPF and WinForms frontends.
2026-02-15 11:14:19 +01:00
8872080741 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.
2026-02-15 11:13:23 +01:00
63751af18d Add selectable image library option and refactor processing
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.
2026-02-15 01:03:26 +01:00
69fdf01de3 Modernize versioning and display in app and build output
- Switch to explicit "3.2.0" next-version in GitVersion.yml
- Update NuGet packages and set assembly name to "ImageCatalog"
- Add MSBuild target to rename published exe with year and version
- Add AppVersion property to DataModel, set via IVersionProvider
- Replace static version label with data-bound versionLabel in UI
- Remove manual version label logic from MainForm
- Update DI to inject IVersionProvider into DataModel
- Ensures UI always shows correct version and builds are versioned
2026-02-14 22:18:56 +01:00
6ccbec890a Improve speed stats, UI usability, and settings persistence
Enhanced speed counter with smoothing and elapsed time display.
Added folder open buttons to UI and repositioned speed label.
Added UpdateSubdirectories to settings for persistence.
2026-02-14 19:36:58 +01:00
c2fd4bf780 Add image processing benchmarks and UI folder open buttons
- 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.
2026-02-14 19:20:25 +01:00
68c1106f65 Enhance image processing performance and flexibility by introducing atomic counters, improving file pattern matching, and refining logo positioning logic. 2026-02-10 21:18:46 +01:00
ba965e8266 Fixes and mapping 2026-02-04 23:16:06 +01:00
fc7175c2f7 Fixes to settings 2026-02-04 22:10:16 +01:00
d73389d791 Update library and fixes 2026-02-04 21:12:27 +01:00
1db874ce77 Migration to MVVM 2026-02-04 19:48:03 +01:00
Marco
764a439645 Chunks and threads in model 2025-09-19 09:53:31 +02:00
Marco
a466efbb27 Formatting 2025-07-29 11:10:54 +02:00
Marco
80fcaa6fd0 Async stop 2025-07-29 11:07:49 +02:00
Marco
1cd71c54fc Clean up 2025-07-29 10:34:23 +02:00
Marco
12d1bd57dc Override mode fix 2025-07-28 14:45:03 +02:00
Marco
a21522a916 Cleaned up old code 2025-07-28 10:34:03 +02:00
Marco
65aeabdfee Updated libraries and made horizontal text property 2025-07-28 09:49:55 +02:00
Marco
b98623f092 optimizations 2025-07-23 17:16:06 +02:00
4e4a59b0b2 Bound UI Enabled 2024-10-14 23:48:21 +02:00
22f7143d6e Binding Commands 2024-10-14 23:25:35 +02:00
d3327089ff Initialized ViewModel 2024-10-14 23:05:18 +02:00
efbc9f91db Added viewmodel 2024-10-14 22:55:52 +02:00