Ungawushintsha Kanjani Ngokuhlelekile Umbala Wefonti Ngokusekelwe Kusemuva? (Imodi Ekhanyayo/Emnyama)
Uma uvakashele Martech Zone muva nje, kungenzeka ukuthi uqaphele ukuthi manje sinikeza ikhono lokubuka isayithi ngemodi yokukhanya noma emnyama. Vele useshe i- inyanga noma ilanga isithonjana eduze kwedethi kubha yokuzulazula ephezulu kwesokunxele kusayithi.
Kuyisici esihle kakhulu futhi sisebenza kahle kakhulu. Ngenkathi ngethula ithuluzi elisha lokuguqula ukuze shintsha i-HEX ibe yi-RGB, bengifuna ukubonisa umbala lowo umsebenzisi abezama ukuwubala. Angibonisi umbala kuphela, kodwa futhi ngengeze isici esihle esibonisa igama lombala. Kodwa lokho kwethule udaba...
Uma iwashi elibonisa umbala linengemuva elikhanyayo, ubungeke ukwazi ukufunda umbhalo engiwukhiqizela iwashi ngendlela eshukumisayo. Ngakho-ke... Bekufanele ngidale umsebenzi obeka umbala wefonti ngokusekelwe kumbala wangemuva kanye nokuthi bekukhona yini umehluko okwanele ukuze ngibuke ifonti.
Umsebenzi we-JavaScript Wemodi Ekhanyayo noma Emnyama
Bengidinga ukudala umsebenzi lapho engangingadlulisa khona ikhodi ye-hex yombala, bese ngibuyisela ukuthi ifonti kufanele ibe mhlophe noma ibe mnyama ngokusekelwe ekuhlukeni. Lo msebenzi weJavaScript wenze iqhinga...
function contrast(hex) {
var threshold = 149;
let r = 0, g = 0, b = 0;
// 3 digits
if (hex.length == 4) {
r = "0x" + hex[1] + hex[1];
g = "0x" + hex[2] + hex[2];
b = "0x" + hex[3] + hex[3];
// 6 digits
} else if (hex.length == 7) {
r = "0x" + hex[1] + hex[2];
g = "0x" + hex[3] + hex[4];
b = "0x" + hex[5] + hex[6];
}
return ((r*0.299 + g*0.587 + b*0.114) > threshold) ? '#000000' : '#ffffff';
}
I-threshold kulo msebenzi isetshenziselwa ukunquma ukuthi umbala othile ulula noma umnyama. Umsebenzi uguqula ikhodi yombala ye-hexadecimal enikeziwe ibebomvu, eluhlaza, nohlaza okwesibhakabhaka (RGB) izingxenye, bese isebenzisa ifomula ukubala ukukhanya okucatshangelwayo kombala. Uma ukukhanya kungaphezu komkhawulo, umsebenzi uyabuya #000000
, okuyikhodi ye-hex yokumnyama. Uma ukukhanya kungaphansi komkhawulo, umsebenzi uyabuya #ffffff
, okuyikhodi ye-hex yomhlophe.
Inhloso yalo mkhawulo uwukuqinisekisa ukuthi umbala wombhalo okhethelwe umbala onikeziwe wangemuva unokugqama okwanele ukuze ufundeke kalula. Umthetho ovamile wesithupha ukuthi umbhalo okhanyayo (isb. omhlophe noma ophuzi) kufanele usetshenziswe kungemuva elimnyama, futhi umbhalo omnyama (isb. omnyama noma oluhlaza okwesibhakabhaka) kufanele usetshenziswe kungemuva elikhanyayo. Ngokusebenzisa i-threshold ukuze unqume ukuthi umbala ukhanyayo noma umnyama, umsebenzi ungakhetha ngokuzenzakalelayo umbala wombhalo ofanele wombala othile ongemuva.
Ngisebenzisa umsebenzi ongenhla, ngingasebenzisa ngokohlelo i-CSS yombala wefonti ngokusekelwe kumbala wangemuva. Hlola isiguquli futhi uzobona ukuthi sisebenza kahle kangakanani!