MCPcopy Create free account
hub / github.com/benfry/processing4 / xzyToRgb

Method xzyToRgb

app/src/processing/app/ui/Theme.java:340–368  ·  view source on GitHub ↗
(double[] xyz)

Source from the content-addressed store, hash-verified

338
339
340 static private double[] xzyToRgb(double[] xyz) {
341 double var_X = xyz[0] / 100; // Where X = 0 ÷ 95.047
342 double var_Y = xyz[1] / 100; // Where Y = 0 ÷ 100.000
343 double var_Z = xyz[2] / 100; // Where Z = 0 ÷ 108.883
344
345 double var_R = var_X * 3.2406 + var_Y * -1.5372 + var_Z * -0.4986;
346 double var_G = var_X * -0.9689 + var_Y * 1.8758 + var_Z * 0.0415;
347 double var_B = var_X * 0.0557 + var_Y * -0.2040 + var_Z * 1.0570;
348
349// if ( var_R > 0.0031308 ) var_R = 1.055 * ( var_R ^ ( 1 / 2.4 ) ) - 0.055
350// else var_R = 12.92 * var_R
351// if ( var_G > 0.0031308 ) var_G = 1.055 * ( var_G ^ ( 1 / 2.4 ) ) - 0.055
352// else var_G = 12.92 * var_G
353// if ( var_B > 0.0031308 ) var_B = 1.055 * ( var_B ^ ( 1 / 2.4 ) ) - 0.055
354// else var_B = 12.92 * var_B
355
356 var_R = (var_R > 0.0031308) ?
357 1.055 * Math.pow(var_R, 1/2.4) - 0.055 : 12.92 * var_R;
358 var_G = (var_G > 0.0031308) ?
359 1.055 * Math.pow(var_G, 1/2.4) - 0.055 : 12.92 * var_G;
360 var_B = (var_B > 0.0031308) ?
361 1.055 * Math.pow(var_B, 1/2.4) - 0.055 : 12.92 * var_B;
362
363 return new double[] {
364 var_R * 255,
365 var_G * 255,
366 var_B * 255
367 };
368 }
369
370
371 static private int bounded(double amount) {

Callers 1

makeGradientLabMethod · 0.95

Calls 1

powMethod · 0.80

Tested by

no test coverage detected