PHP-将RGB值转换为CMYK百分比
我使用这个php代码获取RGB值PHP-将RGB值转换为CMYK百分比,php,Php,我使用这个php代码获取RGB值 <?php $im = imagecreatefrompng("img/t4.png"); $rgb = imagecolorat($im, 15, 15); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; ?> 我还需要CMYK百分比 有人能给我一些指导方针吗 谢谢。 <? function hex2
<?php
$im = imagecreatefrompng("img/t4.png");
$rgb = imagecolorat($im, 15, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>
我还需要CMYK百分比
有人能给我一些指导方针吗
谢谢。
<?
function hex2rgb($hex) {
$color = str_replace('#','',$hex);
$rgb = array('r' => hexdec(substr($color,0,2)),
'g' => hexdec(substr($color,2,2)),
'b' => hexdec(substr($color,4,2)));
return $rgb;
}
function rgb2cmyk($var1,$g=0,$b=0) {
if(is_array($var1)) {
$r = $var1['r'];
$g = $var1['g'];
$b = $var1['b'];
}
else $r=$var1;
$cyan = 255 - $r;
$magenta = 255 - $g;
$yellow = 255 - $b;
$black = min($cyan, $magenta, $yellow);
$cyan = @(($cyan - $black) / (255 - $black)) * 255;
$magenta = @(($magenta - $black) / (255 - $black)) * 255;
$yellow = @(($yellow - $black) / (255 - $black)) * 255;
return array('c' => $cyan / 255,
'm' => $magenta / 255,
'y' => $yellow / 255,
'k' => $black / 255);
}
$color=rgb2cmyk(hex2rgb('#FF0000'));
pdf_setcolor($pdf, "both", "cmyk", $color['c'], $color['m'], $color['y'], $color['k']);
?>
看,这是一个很好的答案!关于这一点的细节是,这个函数已经执行了UCR(“颜色移除下”),它用黑色替换相等的颜色份额。这通常会导致更多的“中性”颜色,尤其是灰色色调,通常会以这种方式失去色彩。