颜色处理

引入类

use zxf\Tools\ColorUtils;

将两个颜色值进行加法处理

ColorUtils::addColors("#FF0000", "#FFFF00"); // 结果: "#FFFF00"

将两个颜色值进行减法处理

ColorUtils::subtractColors("#00FF00", "#0000FF"); // 结果: "#00FF00"

将两个颜色按指定比例混合

ColorUtils::blendColorsWithRatio("#FF0000", "#FFFF00", 0.5); // 结果: "#FFFF00"

调整颜色亮度

ColorUtils::adjustBrightness("#FF0000", 0.2); // 结果: "#FF3333"

调整颜色对比度

ColorUtils::adjustContrast("#FF0000", 1.5); // 结果: "#FF0000"

计算颜色亮度

ColorUtils::getLuminance("#FF0000"); // 结果: 0.2126

将十六进制颜色值转换为 RGB 数组

ColorUtils::hexToRgb("#FF0000"); // 结果: ['r' => 255, 'g' => 0, 'b' => 0]

将十六进制颜色值转换为 RGBA 数组

ColorUtils::hexToRgba("#FF000080"); // 结果: ['r' => 255, 'g' => 0, 'b' => 0, 'a' => 0.5]

将 RGBA 颜色值转换为十六进制颜色值(6 位或 8 位)

ColorUtils::rgbaToHex(255, 0, 0, 0.5); // 结果: "#FF000080"

调整颜色的透明度

ColorUtils::adjustAlpha("#FF0000", 0.5); // 结果: "#FF000080"

将 RGB 数值转换为十六进制颜色值

ColorUtils::rgbToHex(255, 0, 0); // 结果: "#FF0000"

计算两个颜色之间的相似度

ColorUtils::getColorSimilarity("#FF0000", "#FF8000"); // 结果: 0.89