繁体   English   中英

使用PHP获取颜色阴影

[英]Get Color Shade with PHP

我想使用PHP从给定的十六进制值中获取更亮的十六进制颜色阴影输出。 例如,我将颜色#cc6699作为输入,而我希望将#ee88aa作为输出颜色。 我将如何在PHP中执行此操作?

您需要将颜色转换为RGB,进行添加,然后转换回:

// Convert string to 3 decimal values (0-255)
$rgb = array_map('hexdec', str_split("cc6699", 2));

// Modify color
$rgb[0] += 34;
$rgb[1] += 34;
$rgb[2] += 17;

// Convert back
$result = implode('', array_map('dechex', $rgb));

echo $result;

看到它在这里行动

1.将颜色分为三个元素:cc,66、99 2.使用http://php.net/manual/de/function.hexdec.php将其转换为十进制3.递增三个十进制值4.将十进制转换为十六进制再次5.将三个要素放在一起

与您的问题没有直接关系,但是这篇文章对颜色转换很有趣: http : //beesbuzz.biz/code/hsv_color_transforms.php

最好的解决方案是将RGB转换为HSL或HSV (只需在google中搜索php转换器hsl / hsv )。

然后,您可以使用色彩空间的“亮度”或“值”值。

然后将其转换回RGB色彩空间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM