| Summary: | Vectors cannot have colors outside of the sRGB gamut. | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | wolthera <griffinvalley> |
| Component: | Layers/Vector | Assignee: | Krita Bugs <krita-bugs-null> |
| Status: | RESOLVED INTENTIONAL | ||
| Severity: | normal | CC: | halla, osxyz |
| Priority: | NOR | ||
| Version First Reported In: | git master (please specify the git hash!) | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Diff to "properly convert the qimage" | ||
|
Description
wolthera
2016-05-06 10:20:43 UTC
Hi Does it's also exists in Krita v2.9.11 or does it's a regression in v3.0 ? Yes -- I'm not surprised, that's because Flake uses QPainter internally. So, a vector layer is painted on a QImage, and the QImage is converted to a KisPaintDevice. QImage and QPainter cannot handle anything other than sRGB; there is a nasty bug here though because the conversion assumes that any colorspace with the RGBA id is sRGB... Created attachment 102682 [details]
Diff to "properly convert the qimage"
Actually, I tried to do the conversion properly, but that gives more problems: it means for instance that the color used in the calligraphy tool changes after the stroke is completed and becomes different from the one selected in the color selector.
I think that we shouldn't touch this area and keep it as it is: the only possible solution is to implement painting in flake directly on KisPaintDevices, and that means implemented a QPainter that can work on a KisPaintDevice.
We've tried that several times and always failed.
|