Summary: | Warp tool makes the borders of the image a bit non-smooth | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Dmitry Kazakov <dimula73> |
Component: | Tools/Transform | Assignee: | 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: | http://commits.kde.org/calligra/b0ff2a6ebe3e6aaa0892e381d19a07d6fd2e9aa8 | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: |
Screenshot showing the bug
One more sceershot showing the bug |
Created attachment 77043 [details]
One more sceershot showing the bug
*** Bug 333172 has been marked as a duplicate of this bug. *** 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 |
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.