Bug 314746 - Warp tool makes the borders of the image a bit non-smooth
Summary: Warp tool makes the borders of the image a bit non-smooth
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other Linux
: NOR minor
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
: 333172 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-02-09 08:22 UTC by Dmitry Kazakov
Modified: 2014-09-12 21:36 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot showing the bug (214.89 KB, image/png)
2013-02-09 08:22 UTC, Dmitry Kazakov
Details
One more sceershot showing the bug (921.32 KB, image/png)
2013-02-09 08:25 UTC, Dmitry Kazakov
Details

Note You need to log in before you can comment on or make changes to this 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