Version: (using KDE KDE 3.5.2) Installed from: Gentoo Packages I created a cmyk image with a simple gradient. Applying e.g. the Relief/Emboss with variable depth or Map/Round corners filters, the preview of the emboss filter (at 300%) had a strong black/white contrast, which wasn't the case in the result. The Round corner preview looks just weird. Then I started a new test applying both filters in reverse. The rounded corners left the checker board pattern of the background as the effect should, but applying the emboss filter afterwards, the uncolored space was filled again - and that even though the preview preserved it. Don't know, if it's meant to be like that, but I wouldn't expect it.
Set to the right component.
SVN commit 601435 by rempt: Partial fix for bug 127443 -- emboss with variable depth now doesn't destray alpha data anymore. CCBUG: 127443 M +3 -2 kis_emboss_filter.cc --- branches/koffice/1.6/koffice/krita/plugins/filters/embossfilter/kis_emboss_filter.cc #601434:601435 @@ -105,7 +105,8 @@ // XXX: COLORSPACE_INDEPENDENCE QColor color1; - src->colorSpace()->toQColor(it.rawData(), &color1); + Q_UINT8 opacity; + src->colorSpace()->toQColor(it.rawData(), &color1, &opacity); QColor color2; Q_UINT8 opacity2; @@ -117,7 +118,7 @@ Gray = CLAMP((R + G + B) / 3, 0, Q_UINT8_MAX); - dst->colorSpace()->fromQColor(QColor(Gray, Gray, Gray), dstIt.rawData()); + dst->colorSpace()->fromQColor(QColor(Gray, Gray, Gray), opacity, dstIt.rawData()); } }
Note: this filter isn't colorspace independent. It should be easy enough to make it independent, and that remains a todo for 2.0.
SVN commit 601437 by rempt: Forward port opacity fix for bug 127443. CCBUG:127443 M +2 -1 kis_emboss_filter.cc --- trunk/koffice/krita/plugins/filters/embossfilter/kis_emboss_filter.cc #601436:601437 @@ -97,6 +97,7 @@ // FIXME: COLORSPACE_INDEPENDENCE or at least work IN RGB16A QColor color1; + quint8 opacity; src->colorSpace()->toQColor(it.oldRawData(), &color1); QColor color2; @@ -110,7 +111,7 @@ Gray = CLAMP((R + G + B) / 3, 0, quint8_MAX); - dst->colorSpace()->fromQColor(QColor(Gray, Gray, Gray), dstIt.rawData()); + dst->colorSpace()->fromQColor(QColor(Gray, Gray, Gray), opacity, dstIt.rawData()); } }
I can't see to reproduce this bug any longer, but maybe I'm not interpreting it right. Has this bug been fully fixed yet?
The filter isn't colorspace independent, but since a note has been added to the code, and the crash doesn't occur anymore, I think it's okay to close the bug. Thanks!