Bug 314746

Summary: Warp tool makes the borders of the image a bit non-smooth
Product: [Applications] krita Reporter: Dmitry Kazakov <dimula73>
Component: Tools/TransformAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: minor CC: mnkyshield
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Screenshot showing the bug
One more sceershot showing the bug

Description Dmitry Kazakov 2013-02-09 08:22:35 UTC
Created attachment 77042 [details]
Screenshot showing the bug

When transforming an image with a warp tool, the lines in the image become non-smooth. It looks like they become a bit distorted by some periodic offset. See an attached image for details.

We had a problem like that in the Free Transform Tool, it has been fixed by a proper control of rounding between integer and float values used inside the algorithm. Probably, this is the cause of the problem here as well.

I mark this bug as minor, since the artifact is quite subtle. But it is still present.
Comment 1 Dmitry Kazakov 2013-02-09 08:25:48 UTC
Created attachment 77043 [details]
One more sceershot showing the bug
Comment 2 Dmitry Kazakov 2014-04-07 18:45:22 UTC
*** Bug 333172 has been marked as a duplicate of this bug. ***
Comment 3 Dmitry Kazakov 2014-09-12 21:36:39 UTC
Git commit b0ff2a6ebe3e6aaa0892e381d19a07d6fd2e9aa8 by Dmitry Kazakov.
Committed on 12/09/2014 at 21:35.
Pushed by dkazakov into branch 'krita-chili-kazakov'.

Implement proper bilinear interpolation for the Warp Transform

The real problem of the warp transform was the implementation
of the bilinear interpolation. Now there is a proper solution
with quadratic equation and unittests. Please tests :)

CCMAIL:kimageshop@kde.org

A  +118  -0    krita/image/kis_four_point_interpolator_backward.h     [License: GPL (v2+)]
A  +92   -0    krita/image/kis_four_point_interpolator_forward.h     [License: GPL (v2+)]
M  +265  -1342 krita/image/kis_warptransform_worker.cc
M  +8    -46   krita/image/kis_warptransform_worker.h
M  +236  -1    krita/image/tests/kis_warp_transform_worker_test.cpp
M  +8    -0    krita/image/tests/kis_warp_transform_worker_test.h
M  +7    -1    krita/plugins/tools/tool_transform2/kis_warp_transform_strategy.cpp

http://commits.kde.org/calligra/b0ff2a6ebe3e6aaa0892e381d19a07d6fd2e9aa8