Bug 445714

Summary: Transform tool allows sub-pixel translation
Product: [Applications] krita Reporter: Ralek Kolemios <info>
Component: Tools/TransformAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal CC: halla
Priority: NOR Keywords: regression
Version: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Attachments: Loss in quality over multiple translations

Description Ralek Kolemios 2021-11-18 19:21:14 UTC
Created attachment 143704 [details]
Loss in quality over multiple translations

In 5.1.0, both in modern builds (git 4807d9c) and in builds prior to the addition of the 'Preview' transform tool option (git 9ae7dce), translation of a layer with the transform tool introduces sub-pixel translation of layers. When the transformation has been finished and the layer resampled, this introduces a loss in layer quality which can compound over time. (See attached) 

This is less noticeable on the 'nearest neighbor' resampling method, though has been shown to in rare cases affect this as well, primarily on the edge of the layer.

This bug does not occur on the latest main 4.4.8 release
Comment 1 Dmitry Kazakov 2021-11-26 07:50:48 UTC
Git commit f1e5a9bc8051d0d5fdbc5cd61779aba60b0c8554 by Dmitry Kazakov.
Committed on 26/11/2021 at 07:50.
Pushed by dkazakov into branch 'master'.

Disable subpixel translation in the transform tool

This subpixel translation should be used only when the transformation
is **not** a translation. For translation people expect translation
to be a lossless transformation.

M  +14   -5    libs/image/kis_transform_worker.cc

https://invent.kde.org/graphics/krita/commit/f1e5a9bc8051d0d5fdbc5cd61779aba60b0c8554
Comment 2 Dmitry Kazakov 2021-11-26 07:51:47 UTC
Git commit 7e89dbf7c77198a04040c35fe6febcdcc59bbf8d by Dmitry Kazakov.
Committed on 26/11/2021 at 07:51.
Pushed by dkazakov into branch 'krita/5.0'.

Disable subpixel translation in the transform tool

This subpixel translation should be used only when the transformation
is **not** a translation. For translation people expect translation
to be a lossless transformation.
(cherry picked from commit f1e5a9bc8051d0d5fdbc5cd61779aba60b0c8554)

M  +14   -5    libs/image/kis_transform_worker.cc

https://invent.kde.org/graphics/krita/commit/7e89dbf7c77198a04040c35fe6febcdcc59bbf8d