<?php
function rgb2cmyk($r, $g, $b)
{
$c = 255 - $r;
$m = 255 - $g;
$y = 255 - $b;
$b = min($c, $m, $y);
$c = round(($c - $b) / (255 - $b));
$m = round(($m - $b) / (255 - $b));
$y = round(($y - $b) / (255 - $b));
$k = round($b / 255);
return array($c, $m, $y, $k);
}
function cmyk2rgb($c, $m, $y, $k)
{
$r = 255 - round(255 * ($c - $c * $k - $k));
$g = 255 - round(255 * ($m - $m * $k - $k));
$b = 255 - round(255 * ($y - $y * $k - $k));
return array($r, $g, $b);
}
for ($i = 0; $i < 20; $i++)
{
$r = rand() % 255;
$g = rand() % 255;
$b = rand() % 255;
echo "$i. $r, $g, $b -> ";
$cmyk = rgb2cmyk($r, $g, $b);
echo "{$cmyk[0]}, {$cmyk[1]}, {$cmyk[2]}, {$cmyk[3]} -> ";
$rgb = cmyk2rgb($cmyk[0], $cmyk[1], $cmyk[2], $cmyk[3]);
echo "{$rgb[0]}, {$rgb[1]}, {$rgb[2]}";
echo "\n";
}
preferences:
33.51 ms | 402 KiB | 5 Q