0,"y"=255",b="255") 我想将它转换为 RGB 以获得 $rgbColor = arr-6ren">
gpt4 book ai didi

将RYB颜色转换为RGB颜色的php函数

转载 作者:搜寻专家 更新时间:2023-10-31 21:19:23 25 4
gpt4 key购买 nike

我在 php。

我有一个具有该值的 RYB 颜色:

$rybColor = array("r"=>0,"y"=255",b="255")

我想将它转换为 RGB 以获得

$rgbColor = array("r"=>0,"g"=>255,"b"=>0)

这有可能吗?

我在 javascript 中找到了一个脚本 link但对我来说有点复杂。我坚持值(value)观的规范化..

最佳答案

当然。

这是一个快速 PHP versionJavaScript versionPython version你链接:

// RYB color to RGB color
function RYB2RGB($iRed, $iYellow, $iBlue){

// Remove the whiteness from the color.
$iWhite = min($iRed, $iYellow, $iBlue);

$iRed -= $iWhite;
$iYellow -= $iWhite;
$iBlue -= $iWhite;

$iMaxYellow = max($iRed, $iYellow, $iBlue);

// Get the green out of the yellow and blue
$iGreen = min($iYellow, $iBlue);

$iYellow -= $iGreen;
$iBlue -= $iGreen;

if ($iBlue > 0 && $iGreen > 0)
{
$iBlue *= 2.0;
$iGreen *= 2.0;
}

// Redistribute the remaining yellow.
$iRed += $iYellow;
$iGreen += $iYellow;

// Normalize to values.
$iMaxGreen = max($iRed, $iGreen, $iBlue);

if ($iMaxGreen > 0)
{
$iN = $iMaxYellow / $iMaxGreen;

$iRed *= $iN;
$iGreen *= $iN;
$iBlue *= $iN;
}

// Add the white back $in.
$iRed += $iWhite;
$iGreen += $iWhite;
$iBlue += $iWhite;

// Save the RGB
$RGB = [floor($iRed), floor($iGreen), floor($iBlue)];

return $RGB
}

$R = 98;
$y = 152;
$b = 223;

var_dump( RYB2RGB( $R, $y, $b ) ); //

// array(3) {
// [0]=>
// float(98)
// [1]=>
// float(193)
// [2]=>
// float(223)
// }

关于将RYB颜色转换为RGB颜色的php函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57939732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com