Conversation
Updated the following dependencies: - Magick.NET-Q16-AnyCPU: 14.14.0 → 14.15.0 - Magick.NET.SystemDrawing: 8.0.23 → 8.0.24 - Magick.NET.SystemWindowsMedia: 8.0.23 → 8.0.24 - Microsoft.WindowsAppSDK: 2.2.0 → 2.3.1 - System.Drawing.Common: 10.0.9 → 10.0.10 These updates bring in the latest bug fixes, features, and security improvements. No other code changes were made.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Save Options dialog now displays a live "Estimated file size" that updates as users change format, quality, resize, markup, or measurement settings. Introduced a debounced, cancellable async estimation mechanism using a delegate for file size calculation. MainWindow provides an async estimation function that renders the image with overlays and computes output size without disk writes. Refactored image save logic into ApplySaveOptions and EncodeImageForSave helpers. Added SaveOptions.Clone() for thread safety. Improved resource cleanup and cancellation in the dialog. UI updated to accommodate the new estimated size display.
- Added floating canvas navigation bar (zoom, pan, fit, bounds) and collapsible tools sidebar to MainWindow UI; both are toggleable - Refactored zoom/pan logic with new methods for zooming at a point, fitting bounds, and syncing controls - Improved transform handle dragging with optional image bounds constraint - Added rubber-band marquee selection for markup "Select" tool; supports multi-item selection and group moves with undo/redo - Visual highlights for selected markup text controls - Extended Undo/Redo with MarkupGroupMovedItem for group moves - Improved Delete key handling to remove all selected markup as a group - Refactored coordinate conversion and handle scaling - Updated event handlers and UI logic for new features
Introduced a MiniMap control showing a thumbnail with viewport rectangle. Integrated into MainWindow with toggleable visibility via menu/context menu. Updated MainWindow logic to sync mini map with canvas zoom/pan/resize and handle user panning via the mini map. Ensured mini map events do not interfere with main canvas interaction. UI state management updated to support mini map controls.
Introduced CornerNavButton control for quick viewport centering on polygon handles. Styled button and integrated dynamic creation, positioning, and scaling logic. Updated canvas and pan/zoom handling for smooth navigation and animation cancellation. Improved hit-testing and minimap drag robustness.
closes #21 Introduced a "Lens Correction" feature with a dedicated window for barrel/pincushion correction, live preview, EXIF auto-detection, and profile management. Added services and models for lens profiles, persisted in JSON. Updated MainWindow and ViewModel for workflow integration, undo/redo, error handling, and user warnings about measurement invalidation. Included new resources and updated project file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Classification
New feature and UI/UX enhancement.
PR Summary
This PR adds a comprehensive lens correction workflow, advanced canvas navigation with a mini map, and improved markup and export features. It also updates dependencies and refines UI interactions.
LensCorrectionWindow,LensMetadataHelper, andLensProfileServicefor interactive lens correction with profile management and EXIF auto-detection.MainWindowViewModeland UI to support lens correction, profile selection, and new navigation controls.MiniMapcontrol for enhanced zoom, pan, and viewport management.