GSoC/2021/StatusReports/Sachinjindal
Reference Images Improvement
Krita is a professional FREE and open source painting program. This project aims to improve the reference image tool in Krita to include some additional features that will be helpful to the artists drawing with photo-referencing.With the addition of this new features, the tool & reference images will be more interactive and easier to use in Krita.
Project Goals
- Pin Reference Image to canvas.
- Status: DONE
- Integrate Crop.
- Status: DONE
- Update & sync the reference image.
- Status: DONE
Mentors
Links
Work Report
Pin Reference Images
Goal of this feature is to provide an option to apply the canvas modifications to reference images based on the option selected in the Tool widget. This is implemented with four options position, zoom, rotate & mirror to allow them to be manipulated with canvas or image modifications .
Bug Request : Link
This is a great mock-up of this feature from Bugzilla.
Integrate Crop
This feature allows the reference images to be Cropped inside the Tool like the Crop Tool . Crop rectangle can be easily modified with the handles on the images and the sliders in the Tool box . So both are interconnected as well. The final crop action is in-destructible so the image is updated with original image and can be cropped differently again .
Bug Request : Link
Sync Reference Images
This feature updates the image with latest modifications . Since references are not meant to be modified , but they can be modified like other files in Krita and uploaded with any rectifications . So this will keep track of any modifications done to them and uploads it correctly . This is done via QFileSystemWatcher class and this functionality exists in Krita for some layers already .
This is shown in the last part of the demo video in which the yellow line is shown in the reference images.
What's left
Documentation for the added features in Krita Manual and some minor code-style updates from the mentors code reviews.
Important Commits
Add Pin/ Unpin options for reference images
Fix Zoom position & Polish the UI
Implement decorations for Crop bounds
Use mergeWith() to avoid adding same commands
Refactor FileSytemWatcherWrapper in KisSafeDocumentLoader