Summary: | Contiguous Selection Tool behavior | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | acc4commissions |
Component: | Tools/Selection | Assignee: | Dmitry Kazakov <dimula73> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | ahab.greybeard, dimula73 |
Priority: | NOR | ||
Version: | 4.2.8 | ||
Target Milestone: | --- | ||
Platform: | Microsoft Windows | ||
OS: | Microsoft Windows | ||
Latest Commit: | https://invent.kde.org/graphics/krita/commit/733a9480fbdc0c334407d8184f09d251485c17ca | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: | describing the problem |
The most pesky problem is that I can't ignore very light and pale pixels by changing the fuzziness. When I click the transparent area of the layer, the detection seems to become binary, and it only select pixels that is 'completely' transparent. I can confirm this for the Jan 28th 4.3.0 prealpha appimage git(049dd11) The contiguous selection tool and the similar colour selection tool both do a binary (alpha equals 0 or alpha not equal to 0) selection with a gradient on a transparent background. For the contiguous selection tool, a workaround for this is to put a contrasting solid colour layer under the gradient-on-transparent layer and then use the tool with limit to current layer turned off. That workaround does not work for the similar colour selector tool. You have to merge a copy of the gradient with a contrasting filled layer and use it on that to get a selection that is correct and controllable. There have been other previous concerns about how pixels with alpha less than 1 are treated so this may be one of those situations. Git commit 0e28b2a36ba79805330c0f66d1bf5058a437ddf2 by Dmitry Kazakov. Committed on 12/06/2020 at 18:14. Pushed by dkazakov into branch 'krita/4.3'. Fix KoColorSpace::differenceA() handle fully transparent pixels properly If the pixel is fully transparent, then it is treated as if its color channels would be the same as ones of the other pixel. It fixes the problem of calculating threshold of flood fill tools. M +2 -2 libs/image/floodfill/kis_scanline_fill.cpp M +7 -0 libs/pigment/KoColorSpace.h M +4 -1 plugins/color/lcms2engine/LcmsColorSpace.h https://invent.kde.org/graphics/krita/commit/0e28b2a36ba79805330c0f66d1bf5058a437ddf2 Git commit 733a9480fbdc0c334407d8184f09d251485c17ca by Dmitry Kazakov. Committed on 12/06/2020 at 18:15. Pushed by dkazakov into branch 'master'. Fix KoColorSpace::differenceA() handle fully transparent pixels properly If the pixel is fully transparent, then it is treated as if its color channels would be the same as ones of the other pixel. It fixes the problem of calculating threshold of flood fill tools. M +2 -2 libs/image/floodfill/kis_scanline_fill.cpp M +7 -0 libs/pigment/KoColorSpace.h M +4 -1 plugins/color/lcms2engine/LcmsColorSpace.h https://invent.kde.org/graphics/krita/commit/733a9480fbdc0c334407d8184f09d251485c17ca |
Created attachment 125509 [details] describing the problem SUMMARY In short : Contiguous Selection Tool doesn't work as expected when I try to select transparent pixels. Changing settings(fuziness, etc) makes 0 differences in the output. The best way the test this is : 1. Create 2 layers with color gradients, and merge one of them with a white 100% layer. 2. Select Contiguous Selection Tool, and check 'Limit to Current Layer' in Tool Settings. 3. Try to select any area in the gradient on both layers. It would select different areas, and changing settings on the layer that has transparent background, won't make any difference on the area that it selects. SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION Similar problem happens with Similar Color Selection Tool too.