让我们看看,我给你一些关于我的问题的背景知识。 我是一个喜欢用这些东西画画的喷枪家伙。但我喷枪RC车身,我必须从里到外画。这意味着我反转绘制颜色,首先是深色,然后是白色。
现在,当我的顾客选择了他们想要我绘制设计的颜色(从下拉框中)时,我必须自己从黑暗到光明分类。有两种颜色很容易但是7种颜色开始变硬了。
所以我需要的是这个; 我需要一个PHP脚本,按照绘画顺序(从暗到亮)对颜色(当前在rgb中)进行排序。我用Google搜索了但我没有找到那个有用的东西,我希望你的家伙可以帮助我。
答案 0 :(得分:1)
PHP有一组函数(usort(), uasort(), uksort()
),允许您使用比较函数对数组进行排序。因此,如果您从this question获取其中一个公式,则可以使用该值对数组进行排序。
$colors = array(
'#000000',
'#FF0000',
'#00FF00',
'#0000FF',
'#FFFF00',
'#00FFFF',
'#FF00FF',
'#C0C0C0',
'#FFFFFF'
);
function colorToLum($color) {
$red = hexdec(substr($color, 1, 2));
$green = hexdec(substr($color, 3, 2));
$blue = hexdec(substr($color, 5, 2));
return (0.299 * $red + 0.587 * $green + 0.114 * $blue);
}
usort(
$colors,
function ($one, $two) {
return colorToLum($one) - colorToLum($two);
}
);
var_dump($colors);
答案 1 :(得分:0)
非常first result on google在GitHub上显示了这一点。
看起来您应该可以将它用于您的目的。