Jump to content

GSoC/2021/StatusReports/Sachinjindal

From KDE Community Wiki

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

Wolthera van Hövell

Agata Cacko (tiar)

Halla Rempt

Links

Merge Request

Phabricator

Short Video

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.

Pinned images, Un-Pinned images

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

Add Pin/unpin for Zoom

Add crop options in RI widget

Implement decorations for Crop bounds

Add a command to Crop image

Use mergeWith() to avoid adding same commands

Refactor FileSytemWatcherWrapper in KisSafeDocumentLoader

Reload & update the image

Blogs