우선이 훌륭한 블로그 게시물 Particletree을 살펴 봐야한다고 생각합니다. 말했다되고 그건
, 당신의 특정 요구를 해결하기 위해 자신의 smarty_modifier_contrast() 함수를 사용하고 그것을 조금 수정하는 것, 무엇인가 :
function color_contrast($bgcolor, $color1, $color2, $color3, ...)
{
return (hexdec($bgcolor) > 0xffffff/2) ? min(array_slice(func_get_args(), 1)) : max(array_slice(func_get_args(), 1));
}
그래서 당신은 단지에 대한 어떤 임의의 색상을 사용해야합니다 배경 (#
!)을 놓은 다음 다른 모든 색상을 배열에 전달하는 것을 잊지 마십시오.이 경우 가변 개수의 인수를 사용했지만 변경할 수 있습니다. 색상 배열 -에 따라 가장 어둡거나 가장 밝은 색상을 자동으로 선택합니다.가독성을 위해 충분히 좋은 대조 제공 :
function color_contrast($bgcolor, $colors = array())
{
return (hexdec($bgcolor) > 0xffffff/2) ? min($colors) : max($colors);
}
내가 포화 또는 휘도 같이이 작업을하는 데 도움이되는 두 번째 기능 전에 말했듯이 당신은 무작위로 그것을 할 수 있고, $bgcolor
선택하려면를 , 그것은 당신이 찾고있는 것에 달려 있습니다.
$ newRed = (($ rgb [ 'red'] + 0x80) * 0xFF)와 같은 의미입니까? 여기서 $ rgb [ 'red']는 실제로 163 – Lizard
'& 0xff'와 같은 형태입니다. 하지만 그렇습니다. –