Fixed wrong transition curve in ciecam02, fixes #3398
This commit is contained in:
@@ -1724,7 +1724,7 @@ void Color::skinred ( double J, double h, double sres, double Sp, float dred, fl
|
||||
if (J < 16.0) {
|
||||
dred = 40.0f;
|
||||
} else if(J < 22.0) {
|
||||
dred = (4.1666f) * (float)J - 26.6f;
|
||||
dred = 2.5f * (float)J;
|
||||
} else if(J < 60.0) {
|
||||
dred = 55.0f;
|
||||
} else if(J < 70.0) {
|
||||
@@ -1783,16 +1783,16 @@ void Color::skinredfloat ( float J, float h, float sres, float Sp, float dred, f
|
||||
float chromapro = sres / Sp;
|
||||
|
||||
if(sk == 1) { //in C mode to adapt dred to J
|
||||
if (J < 16.0) {
|
||||
dred = 40.0f;
|
||||
} else if(J < 22.0) {
|
||||
dred = (4.1666f) * (float)J - 26.6f;
|
||||
} else if(J < 60.0) {
|
||||
dred = 55.0f;
|
||||
} else if(J < 70.0) {
|
||||
dred = -1.5f * (float)J + 145.0f;
|
||||
if (J < 16.f) {
|
||||
dred = 40.f;
|
||||
} else if(J < 22.f) {
|
||||
dred = 2.5f * J;
|
||||
} else if(J < 60.f) {
|
||||
dred = 55.f;
|
||||
} else if(J < 70.f) {
|
||||
dred = 145.f - 1.5f * J;
|
||||
} else {
|
||||
dred = 40.0f;
|
||||
dred = 40.f;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user