"Transform a layer or a selection" tool is returning corrupted results at various occasions. For what I see it is working ok as long as user is just scaling or skewing but when is trying to use that perspective transformation with "ctrl" pushed results are getting pretty strange. I am sending you link with visuals that may explain things better. It happened twice to me that transformation was doing nothing - in that transparent preview everything was fine but after hitting enter to confirm it was simply returning no effect at all. I didnt menage to find a sure pattern to recreate that behavior but in picture you have other example. Reproducible: Always Steps to Reproduce: described in attached visual. Actual Results: Transformations are completely wrong and results are distorted. Expected Results: Transformation of an object matching exactly semi-transparent preview. All tested on Windows 7 64bit, latest windows build
There is no attachment.
Created attachment 72812 [details] shows the transfornation bug I can easily reproduce. Looks like only part of the transformed image is painted correctly over the original.
This is a regression from 2.4 -- probably the result of the iterator refactoring, but I'll have to git bisect to figure that out.
This still works correct in 2.5, so I doubt it's the iterator refactoring
(In reply to comment #1) > There is no attachment. IMHO, the author's attachment is under the "URL" link. By the way, the bug is still appears in current commit 49218e90...
I also confirm it and still easy to replicate on master of today. It's make the 'Ctrl' perspective feature broken in general. It can also compute anormally long on certain deformation, and grow here in Ram exponentially ; easily to 5GB of ram incrementally by 100MB by 100MB ( compute more than 5 minutes, freezing system ; but always succeed to finish , even if result is not what widget traced ).
I confirm that behavior and this is really annoying.
Git commit a27ca9fc5db2c286de2c9d24e15e7b3b9e5a3394 by Dmitry Kazakov. Committed on 09/01/2013 at 16:27. Pushed by dkazakov into branch 'master'. Fixed Perspective Transform Worker to work properly 1) The class is cleaned up (use QTransform instead of explicit matrix computation) 2) The usage of split rects make the transformation very-very-very fast M +44 -72 krita/image/kis_perspectivetransform_worker.cpp M +8 -11 krita/image/kis_perspectivetransform_worker.h A +59 -0 krita/image/kis_progress_update_helper.h [License: GPL (v2+)] M +3 -39 krita/image/kis_transform_worker.cc M +93 -0 krita/image/krita_utils.cpp M +6 -0 krita/image/krita_utils.h M +6 -0 krita/image/tests/CMakeLists.txt A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_blur1_original.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_blur1_paintDevice.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_blur1_projection.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_clone1_original.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_clone1_projection.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_paint1_original.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_paint1_paintDevice.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_paint1_projection.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_root_original.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_root_projection.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_tmask1_paintDevice.png A +- -- krita/image/tests/data/perspective_worker_test/simple_transform/simple_transform_paint1_original.png A +73 -0 krita/image/tests/kis_perspective_transform_worker_test.cpp [License: GPL (v2+)] C +10 -11 krita/image/tests/kis_perspective_transform_worker_test.h [from: krita/image/krita_utils.h - 067% similarity] M +3 -89 krita/plugins/paintops/experiment/kis_experiment_paintop.cpp M +4 -6 krita/plugins/tools/tool_transform2/kis_tool_transform.cc http://commits.kde.org/calligra/a27ca9fc5db2c286de2c9d24e15e7b3b9e5a3394
Git commit aaec82da4ef4bfb620fcad64e34c9948786537af by Inge Wallin, on behalf of Dmitry Kazakov. Committed on 09/01/2013 at 16:27. Pushed by ingwa into branch 'text-annotations-ingwa'. Fixed Perspective Transform Worker to work properly 1) The class is cleaned up (use QTransform instead of explicit matrix computation) 2) The usage of split rects make the transformation very-very-very fast M +44 -72 krita/image/kis_perspectivetransform_worker.cpp M +8 -11 krita/image/kis_perspectivetransform_worker.h A +59 -0 krita/image/kis_progress_update_helper.h [License: GPL (v2+)] M +3 -39 krita/image/kis_transform_worker.cc M +93 -0 krita/image/krita_utils.cpp M +6 -0 krita/image/krita_utils.h M +6 -0 krita/image/tests/CMakeLists.txt A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_blur1_original.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_blur1_paintDevice.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_blur1_projection.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_clone1_original.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_clone1_projection.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_paint1_original.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_paint1_paintDevice.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_paint1_projection.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_root_original.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_root_projection.png A +- -- krita/image/tests/data/perspective_worker_test/initial/initial_tmask1_paintDevice.png A +- -- krita/image/tests/data/perspective_worker_test/simple_transform/simple_transform_paint1_original.png A +73 -0 krita/image/tests/kis_perspective_transform_worker_test.cpp [License: GPL (v2+)] C +10 -11 krita/image/tests/kis_perspective_transform_worker_test.h [from: krita/image/krita_utils.h - 067% similarity] M +3 -89 krita/plugins/paintops/experiment/kis_experiment_paintop.cpp M +4 -6 krita/plugins/tools/tool_transform2/kis_tool_transform.cc http://commits.kde.org/calligra/aaec82da4ef4bfb620fcad64e34c9948786537af