ColorHelper icon indicating copy to clipboard operation
ColorHelper copied to clipboard

Division by zero

Open crazylyle opened this issue 4 years ago • 0 comments

In ColorHelper/ColorHelper/Converter/ColorConverter.cs, at lines 23 to 25: c = (1 - modifiedR - k) / (1 - k); m = (1 - modifiedG - k) / (1 - k); y = (1 - modifiedB - k) / (1 - k); we have a division by zero if k == 1. k is computed at line 22 as one minus the max of r,g,b. So if all of r, g, b are 0, the max is zero, then k is 1, and 1-k is zero. Division by zero.

It seems that in CMYK, if K is 1, the values of CMY don't matter, so we should set them explicitly to 0.

crazylyle avatar Dec 28 '21 22:12 crazylyle