:::: MENU ::::

Cum aflu din PHP daca o culoare e inchisa sau deschisa

Caz practic:
Ai un colorbox unde dai voie utilizatorului sa-si aleaga ce culoare de fundal sa aiba un anumit element (cum sunt label-urile in gmail).

Trebuie intr-un fel sa-ti dai seama daca a ales o culoare inchisa sau deschisa ca sa poti scrie peste culoarea respectiva si sa fie citibil. Nu poti sa pui text negru peste background negru.

Asadar:

[code lang=”php”]
function nuanta($background) {
$color = str_replace(‘#’, ”, $background);
$rgb = array();
for ($x=0;$x<3;$x++){
$rgb[$x] = hexdec(substr($color,(2*$x),2));
}
$total = array_sum($rgb);
if($total <=381) {
return’inchis’;
}
else {
return’deschis’;
}
}

// exemplu folosire

$culoare = ‘#FF0033’; // rosu, deci inchis
$nuanta = nuanta($culoare);
if($nuanta == "inchis") {
// scrie cu culoare deschisa
}
else {
//scrie cu culoare inchisa
}
[/code]


One Comment

So, what do you think ?