Thread
-
使用一种HSP方式来呈现颜色的视觉亮度(看上去似乎相当于一个反gamma=2操作,但是可以研究下反求的问题因为反gamma在方程内部):https://alienryderflex.com/hsp.html↗
尚待测试,另Krita的HSY转换也待送入MyPaint测试。MyPaint调色盘的颜色亮度均一程度始终有问题。
-
MyPaint调色盘混合方式有问题,居然是用了两个渐变来做,但是Cairo内部不是线性混合的,因此颜色不对。
-
诶我稍后来补充
-
结合HPLuv做出来的带有饱和色彩的平滑选色器。
由于UI那边一堆类继承来继承去的,都不知道怎么交换信息了,于是没有做伽玛缩放滑块……
最后还是采用了HSLuv模式,其实XYZ矩阵那边可以换成别的,比如AdobeRGB等。
-
MyPaint有三个问题:
- RGB→HCY 没有线性化。
- 调色盘用的
cairo
来画混合,而不是线性,导致亮度出问题。 - HSV→HCY 的代码把两个H重用了,由于线性转换,这两个H并不相等。
因此修改好了之后在MyPaint的github上提交了一个建议↗。
调色盘画的一片一片不能整得很密,不然
cairo
慢的很。 -
HPLuv的淡色很好看,完全可以用来做低饱和度图像。因此最好的方式是使用一个混合条,调节调色盘在HSLuv和HPLuv之间的比例,或者单独做成另一个调色盘(但是看那样重复代码特别多,而且HPLuv表示不完整,需要在界面上显示超界,这些东西画起来太麻烦,再加上gtk和他这些类的奇奇怪怪的关系……)。
-
HPLuv库使用的是Alexei Boronine↗的这个库↗,另外参见其他RGB↔XYZ的矩阵值↗,以及维基百科讲解的HCL色彩空间↗。
H2GDC网↗启发了整个研究。
-
另有一个OKLAB↗在保持亮度均一的情况下还具备许多优点,需要继续研究。
-
事实上现在看来可能可以复用之前的NUL界面库来做个简单画图程序,在PC机上用,因此可以使用GL等方便地加速,而无需担心在移动设备上运行耗电的问题。
● -
-
-
-
做的不是很像,但原理应该合适。
2022/04/30 23:36:03