Se da o culoare in format #333333
Pot afla fara sa fac un array cu culorile inchise/deschise daca acea culoare are o tenta de inchis sau deschis pentru a putea scrie cu o culoare de tenta opusa in div-ul cu acel background?
Recunoaste PHP-ul ce culori sunt inchise/deschise ?
Moderatori: Zamolxe, Moderatori
Daca le-ar recunoaste inseamna ca ar avea o baza de date cu cele 2 categorii.Oricum e interesant de vazut http://www.softpageinternet.ro/manual_html/Capitole/Anexa%203.htm
De exemplu rosu inchis are codul:rgb(0,0,0) pana la cel mai deschis rgb(255,0,0) ,generalizand pentru rosu:rgb1(x1,0,0),rgbn(xn,0,0) .Intre x1 si xn exista relatia
n=x1+(n-1)q unde q este ratia progresie aritmetice,in cazul nostru fiind 8
De exemplu rosu inchis are codul:rgb(0,0,0) pana la cel mai deschis rgb(255,0,0) ,generalizand pentru rosu:rgb1(x1,0,0),rgbn(xn,0,0) .Intre x1 si xn exista relatia
Ultima oară modificat Joi Aug 28, 2008 1:06 am de către bash, modificat de 2 ori în total.
Interesanta problema;
Uite o idee:
Tonul de mijloc pt fiecare culoare e 0x7F = 127.
Suma valorilor 301 (127+127+127)
daca ai o culoare cu a carei suma RGB iti da mai mica atunci acea culoare este mai inchisa iar suma RGB mai mare, mai deschisa.
asta dupa un pic studiu pe
http://www.drpeterjones.com/colorcalc/
Works for you ?
Uite o idee:
Tonul de mijloc pt fiecare culoare e 0x7F = 127.
Suma valorilor 301 (127+127+127)
daca ai o culoare cu a carei suma RGB iti da mai mica atunci acea culoare este mai inchisa iar suma RGB mai mare, mai deschisa.
asta dupa un pic studiu pe
http://www.drpeterjones.com/colorcalc/
Works for you ?
Culorile pe 24biti se impart astfel :8biti pe rosu,8biti pe verde si 8 biti pe albastru.Acum nr maxim care poate fi scris pe 8 biti este 255,deci vom avea rgb(255,255,255) cea mai aprinsa culoare si rgb(0,0,0) cea mai intunecata.Logic 127 reprezinta nuantele medii ,rgb(127,127,127) nuanta de granita intre inchise si deschise.
Prietene tu ai spus ca afirmatia ta se bazeaza pe observatie ,eu ti-am aratat matematic de ce .
//offtopic Ca sa posteze felina dupa mine de aia.
Prietene tu ai spus ca afirmatia ta se bazeaza pe observatie ,eu ti-am aratat matematic de ce .
//offtopic Ca sa posteze felina dupa mine de aia.
Ultima oară modificat Joi Aug 28, 2008 9:09 pm de către bash, modificat de 2 ori în total.
bash scrie:Culorile pe 24biti se impart astfel :8biti pe rosu,8biti pe verde si 8 biti pe albastru.Acum nr maxim care poate fi scris pe 8 biti este 255,deci vom avea rgb(255,255,255) cea mai aprinsa culoare si rgb(0,0,0) cea mai intunecata.Logic 127 reprezinta nuantele medii ,rgb(127,127,127) nuanta de granita intre inchise si deschise.
Si asta e diferit de ce am zis eu prin ce ? Sau nu am fost destul de clar?
- kleampa
- Senior Member
- Mesaje: 2774
- Membru din: Dum Iul 10, 2005 2:12 pm
- Localitate: Bucuresti
- Contact:
baieti va multumesc
sfatul cu culoarea medie a fost excelent, singura chestie era ca 127*3 = 381 nu 301
probabil greseala de scriere
codul complet mai jos pentru cine vrea sa testeze
sfatul cu culoarea medie a fost excelent, singura chestie era ca 127*3 = 381 nu 301
codul complet mai jos pentru cine vrea sa testeze
Cod: Selectaţi tot
function hex2rgb($color){
$color = str_replace('#', '', $color);
if (strlen($color) != 6){ return array(0,0,0); }
$rgb = array();
for ($x=0;$x<3;$x++){
$rgb[$x] = hexdec(substr($color,(2*$x),2));
}
return $rgb;
}
//$culoare = '#FFFFFF';
$culoare = '#000000';
$rgb = hex2rgb($culoare);
$total = array_sum($rgb);
if($total <=381) {
$text_color='white';
}
else {
$text_color='black';
}
echo'<div style="background:'.$culoare.'; padding:2px;"><span style="color:'.$text_color.';">text</span></div>';Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 27 vizitatori
