Summary: | Color Adjustment curves can give incorrect result | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | M <manuel.snudl.zeidler> |
Component: | Filters | Assignee: | vanyossi <ghevan> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ghevan, griffinvalley, tamtamy.tymona |
Priority: | NOR | ||
Version: | git master (please specify the git hash!) | ||
Target Milestone: | --- | ||
Platform: | Manjaro | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/kde/krita/commit/bfd110a3a51385d57e1dd2aea8b73ead0053b37a | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: | Test file with buggy filter |
Description
M
2019-09-30 22:52:40 UTC
I can't reproduce; can you please attach a file to see the results and the screenshot of your filter settings? Or maybe a .kra file with a filter layer or mask if it shows the issue, too. Created attachment 122970 [details]
Test file with buggy filter
Here you go. The top layer is the Color Adjustment, and despite having crushed RGBA towards the middle and Red towards the brightest values, the image appears unaltered. When you open the layer properties and tweak the curves by a tiny amount, the adjustment turns visible.
Thanks for your comment! Automatically switching the status of this bug to REPORTED so that the KDE team knows that the bug is ready to get confirmed. In the future you may also do this yourself when providing needed information. Yeah, I can confirm with that image. I wonder if there's some kind of optimization or something doing this? I can see there's one for identity curves(KisPerChannelFilter::createTransformation 207), but is this really an identity curve? identity seems to be added for optimization, to avoid calculating in extreme cases. However all it does is checking all curve points p, have the corrdinates (x,x). which makes the results wrong in cases were the extremes are not min/max respectively. REmoving the identity check solves the issue and should not give any error, but the "special case" will not be optimized. Git commit 8b1ac0f6d645ba87502b8ccb471246fac9231b01 by Ivan Yossi. Committed on 14/10/2019 at 17:27. Pushed by rempt into branch 'master'. Fix Color Adjustment Curves not processing on some cases isIdentity will only resolve to true if the corners are placed in the corners and the middle points are all x = y M +7 -2 libs/image/kis_cubic_curve.cpp https://invent.kde.org/kde/krita/commit/8b1ac0f6d645ba87502b8ccb471246fac9231b01 Git commit bfd110a3a51385d57e1dd2aea8b73ead0053b37a by Boudewijn Rempt, on behalf of Ivan Yossi. Committed on 21/10/2019 at 12:58. Pushed by rempt into branch 'krita/4.2'. Fix Color Adjustment Curves not processing on some cases isIdentity will only resolve to true if the corners are placed in the corners and the middle points are all x = y (cherry picked from commit 8b1ac0f6d645ba87502b8ccb471246fac9231b01) M +7 -2 libs/image/kis_cubic_curve.cpp https://invent.kde.org/kde/krita/commit/bfd110a3a51385d57e1dd2aea8b73ead0053b37a |