나는 헤더 변경 색상을 매일 만들기 위해 노력하고 있으며 임의의 색상을 사용하여 이것을 만들려고했습니다. 헤더에는 2 가지 색상이 있으며 나는 그들을 무료 색상으로 만들고 있습니다. 첫 번째 색상은 무작위로 생성되고, 두 번째 색상은 Hue via 150 '을 변경하여 수정됩니다. 문제는 특정 색상을 선택했을 때, 너무 선명하거나 어두울 수있는 경우입니다. 나는 약간의 밝기 값을 제어 할 수 있도록 점검을 실행하고 있지만 너무 밝은 (예 : 극단적 인 노란색) 색상은 여전히 있습니다. 나는 아래에 나의 코드를 게시 할 것이다. 어떤 도움이나 제안도 환영합니다! 감사!무작위로 PHP로 색상을 생성
// grab a random color on hue
$h = rand(0,360);
// color values 50-120 tend to be extremely bright,
// make adjustments to the S and L accordingly
// a better solution is available?
if ($h > 50 && $h < 120) {
$s = rand(60,80);
$l = rand(30,50);
} else {
$s = rand(60,90);
$l = rand(38,63);
}
// declare string to place as css in file for primary color
$randomColor = "hsl(". $h .",". $s ."%,". $l ."%)";
// declare degree for secondary color (30 = analogous, 150 = complimentary)
$degree = 150;
// point to secondary color randomly on either side of chart
$bool = rand(0,1);
if ($bool) {
$x = $degree;
} else {
$x = -$degree;
}
// set value of the new hue
$nh = $h + $degree;
// if the new hue is above 360 or below 0, make adjustments accordingly
if ($nh > 360) {
$nh -= 360;
}
if ($nh < 0) {
$nh = 360 - $nh;
}
// set the secondary color
$secondaryColor = "hsl(". abs($h + $x) .",". $s ."%,". $l ."%)";
이것은 매우 간단하고 확실한 방법이 있습니다. 나는 주변을 둘러 보았지만, 내가 발견 한 모든 것은 기본적인 공식이 색조 등의 학위를 거친 것입니다. 다시 한번 감사드립니다!
왜 그냥 사용하지 않는 색상 값 배열 및 array_rand() 사용 – Oussama
색상 이론이 훌륭하지 않지만 H/S/L 색상 공간에서 색상이 너무 밝거나 어두울 까봐 걱정된다면 L 값에 상한과 하한을 넣었습니까? – Sammitch