Je, unahitaji rangi kwa ajili ya sampuli ya muundo, chati au turubai tupu, na ungependa kuepuka kuchagua rangi ileile kwa mazoea? Kizalishi hiki cha bure cha rangi nasibu hutoa rangi kutoka masafa kamili ya 24-bit ambayo skrini inaweza kuonyesha na kuweka kila moja kwenye kielelezo cha rangi kando ya msimbo wake. Chagua idadi unayotaka kwenye kisanduku «Idadi» — kuanzia 1 hadi 50 — weka alama kwenye miundo unayohitaji, kisha bonyeza «Tengeneza». Ukurasa hufunguka ukiwa na rangi moja katika mfumo wa HEX, hivyo matokeo ya kwanza yanapatikana kwa mbofyo mmoja tu. Kisanduku cha uteuzi «Msimbo wa HEX» kimetiwa alama tangu mwanzo, «Msimbo wa RGB» na «Msimbo wa HSL» viko pembeni yake, na mchanganyiko wowote wa miundo hiyo mitatu unaweza kuwashwa kwa wakati mmoja. Kitufe cha gia kilicho kando ya «Tengeneza» hufungua sehemu ya «Chaguo za Kina», ambapo unaweza kuzuia rangi ziwe za aina au masafa maalum, kuzuia marudio na kubadilisha jinsi HEX inavyoandikwa.
Kila rangi huundwa ndani ya kivinjari chako kupitia Web Crypto API (crypto.getRandomValues), ambayo hutoa baiti nasibu zenye ulinzi thabiti wa kriptografia kutoka chanzo cha mfumo wako mwenyewe, badala ya kutumia fomula ya nusu-nasibu kama vile Math.random(). Rangi kwenye skrini inajumuisha njia kuu tatu — nyekundu, kijani na bluu — kila moja ikiwa na nambari kamili kuanzia 0 hadi 255, na baiti moja nasibu inaweza kuchukua thamani 256 kamili. Kwa hivyo kila njia ni baiti moja tu, bila chochote katikati: hakuna baki inayochukuliwa, na hakuna kivuli kinachopendelewa na hatua yoyote ya ubadilishaji. Hiyo inafanya rangi zote 16,777,216 ambazo ukurasa huu unaweza kutoa ziwe na nafasi sawa kabisa ya kutokea, kila wakati unapobonyeza «Tengeneza». Masafa membamba zaidi katika sehemu ya «Chaguo za Kina» hudumisha kanuni hiyo ndani ya masafa: rangi bado huchukuliwa kutoka nafasi yote na zile zinazoangukia nje hutupiliwa mbali, ili kila rangi inayoruhusiwa na masafa iwe na nafasi ileile. Hakuna kinachotumwa kwenye seva, hakuna kinachorekodiwa, na pindi ukurasa unapopakia unaendelea kufanya kazi hata bila muunganisho wa intaneti.
Miundo hii mitatu huelezea rangi ileile kwa njia tatu tofauti. Muundo wa «Msimbo wa HEX» ni ule wa tarakimu sita unaotumika katika CSS na zana nyingi za usanifu, kama vile #0778ff; huandikwa kwa herufi ndogo zikitanguliwa na alama ya #, na chaguo «Herufi kubwa» na «Bila #» katika sehemu ya «Chaguo za Kina» hubadilisha hilo kwa zana zinazohitaji muundo tofauti. Muundo wa «Msimbo wa RGB» huonyesha njia zote tatu waziwazi, kama vile rgb(7, 120, 255), jambo linalofaa programu zinazofanya kazi kwenye kila njia kando. Muundo «Msimbo wa HSL» huelezea rangi kwa toni, ukolezi na mwangaza, kama vile hsl(213, 100%, 51%), ambao ndio muundo rahisi zaidi kurekebisha kwa mikono baadaye. Miundo yote mitatu inaweza kubandikwa moja kwa moja kwenye faili la mtindo la CSS. Hata hivyo, miundo hii haina usahihi sawa. HEX na RGB ni kamili; HSL imekadiriwa. Ukurasa huandika toni, ukolezi na mwangaza kama nambari kamili, na kwa takriban 89% ya rangi thamani hiyo iliyokadiriwa haigeuki tena kuwa rangi ileile halisi: #646503 huonyeshwa kama hsl(61, 94%, 20%), ambayo ikigeuzwa hurudi kama #616303. Tofauti haizidi hatua 5 katika njia yoyote na kwa kawaida ni 1 au 2 — haionekani kwa macho kwenye skrini, lakini ni halisi ukihifadhi thamani ya HSL na kutarajia kupata tena HEX ya asili. Hifadhi HEX au RGB kama thamani kuu ya kuhifadhi.
Rangi moja huonekana kama kigae kimoja katikati ya eneo la matokeo; rangi kadhaa huonekana kama orodha iliyo na nambari, rangi moja kwa kila safu, miundo iliyochaguliwa ikiwa kando kwa kando na beji ndogo ya utofautishaji mwishoni. Orodha ya rangi zaidi ya tatu husogezwa ndani ya kisanduku, na kishale kilicho kwenye kona hupanua orodha hiyo kwa urefu kamili; ukurasa hukumbuka mpangilio ulioacha. Bofya msimbo wowote ili kunakili msimbo huo pekee. Kitufe cha kunakili kilicho mwishoni mwa safu hunakili misimbo yote ya rangi hiyo kwenye mstari mmoja uliotenganishwa kwa nafasi. Ukibofya kielelezo cha rangi chenyewe, kichagua rangi cha kivinjari chako hufunguka: chagua rangi nyingine hapo na kila msimbo kwenye safu hiyo utaandikwa upya ili kulingana, katika kila muundo uliowashwa, pamoja na beji yake. Kitufe «Nakili Vyote» hunakili kundi zima, rangi moja kwa kila mstari, na «Hifadhi kwenye faili» huhifadhi maandishi hayo kwenye faili wazi la .txt; zote mbili hufuata rangi yoyote uliyobadilisha kwenye kichagua rangi. Sehemu ya «Historia» huweka makundi yako 10 ya mwisho kwenye kivinjari hiki, sawasawa na jinsi yalivyoundwa, na kitufe «Futa» huondoa matokeo yote. Mipangilio yako, ikiwa ni pamoja na ile iliyo kwenye «Chaguo za Kina», inakumbukwa kwa ziara inayofuata.
Rangi zenye uwezekano sawa haziingiani kwa mgawanyo unaoonekana kuwa sawa, na kujua nini cha kutarajia kunakuokoa kubonyeza «Tengeneza» kwa sababu isiyo sahihi. Ikipimwa katika masafa yote, takriban 35% ya rangi huwa ni angavu na zilizoiva, zikiwa na ukolezi wa HSL wa angalau 70% na mwangaza kati ya 35% na 65%. Rangi zilizo karibu na kijivu, zenye ukolezi chini ya 20%, ni takriban 4% tu, na rangi nyeusi sana (mwangaza chini ya 20%) na zile nyepesi sana (zaidi ya 80%) ni takriban 3% kila moja. Kwa hivyo kundi la rangi kumi kutoka chaguo «Rangi zote» kwa kawaida litakuwa na rangi kadhaa zenye nguvu na si mara nyingi pasteli au kijivu kilichokolea. Unapohitaji aina fulani, ichague kwenye «Aina ya rangi»: chaguo «Zilizoiva» huweka kundi hilo lililoiva pekee, na «Pasteli», «Za giza», «Zilizopoa» na «Kijivu» hufanya vivyo hivyo kwa makundi yao. Chaguo «Maalum» hukuruhusu kuweka masafa yako mwenyewe ya «Toni», «Ukolezi» na «Mwangaza», na masafa ya toni yanaweza kupita 0, hivyo 330 hadi 30 hutoa rangi nyekundu. Masafa hukaguliwa kulingana na msimbo wa HSL unaoonyeshwa kwenye ukurasa, ili kusiwe na msimbo unaoanguka nje, na ikiwa yana rangi chache sana kwa thamani ya «Idadi», ukurasa hukuomba kupanua masafa badala ya kurudia rangi. Vinginevyo marudio yanawezekana lakini ni nadra: weka alama kwenye «Ya kipekee» ili kuyaondoa, na bila alama hiyo nafasi ya rangi mbili kati ya 50 kutoka masafa kamili kuwa sawa ni takriban 1 kati ya 13,700.
Rangi nasibu mara nyingi hutafutwa kama usuli, jambo linaloleta swali moja ambalo kielelezo cha rangi hakiwezi kujibu kwa macho: je, maandishi yatasomeka vizuri juu yake? Mwongozo wa ufikiaji wa wavuti, WCAG, unahitaji uwiano wa utofautishaji wa angalau 4.5:1 kwa maandishi ya kawaida. Ikipimwa kwenye kila rangi ambayo ukurasa huu unaweza kutengeneza, maandishi meusi hufikia kiwango hicho kwa takriban 65% ya rangi na maandishi meupe kwa takriban 36%, na hakuna rangi ambayo maandishi ya aina zote mbili hushindwa: chaguo bora kati ya hayo mawili kila wakati hufikia angalau 4.58:1. Hivyo kwa usuli wowote wa nasibu, maandishi meusi au meupe yatasomeka, na ukurasa hukuonyesha ni yapi. Kila rangi huonyeshwa ikiwa na beji ndogo inayosomika Aa katika rangi bora kati ya hizo mbili, ikifuatiwa na uwiano wake wa utofautishaji. Uwiano huo hukadiriwa kwenda chini ili usizidishe utofautishaji halisi, na husasishwa unapobadilisha rangi kwenye kichagua rangi. Beji hiyo inalinganisha maandishi meusi na meupe pekee; kwa rangi ya chapa au rangi nyingine yoyote ya maandishi, pima jozi hiyo kwa kikagua utofautishaji.
Nasibu si sawa na upatanifu. Kila rangi katika kundi hutolewa peke yake, bila ufahamu wowote kuhusu rangi nyingine, hivyo jenereta hii haitengenezi kamwe ubao wa rangi uliolingana kwa dhana ya msanifu — hakuna jozi za rangi zinazokamilishana, hakuna mfuatano wa rangi za jirani, na hakuna mwangaza unaofanana. Masafa membamba hubadilisha tabia ya kundi, si sheria hiyo: rangi za pasteli au mfululizo wa rangi za bluu bado huwasili moja baada ya nyingine, bila chochote kinachozifunga pamoja. Hiyo ndiyo maana halisi ya chombo hiki: inakupa rangi ambayo usingeichagua wewe mwenyewe, jambo linalovunja mazoea au ugumu wa kubuni. Ili kugeuza uvumbuzi wa nasibu kuwa kitu unachoweza kutumia, baki na rangi unayoipenda na utoe rangi nyingine kutoka kwake, badala ya kubonyeza «Tengeneza» hadi seti nzima itokee kulingana kwa bahati. Shikilia toni yake na ubadilishe viwango vya mwangaza ili kupata matoleo mepesi au meusi zaidi ya rangi hiyo, au zungusha toni kwa nyuzi 180 ili kupata rangi iliyo kinyume chake. Muundo «Msimbo wa HSL» hufanya mabadiliko hayo kuwa hesabu ya wazi badala ya kubahatisha.
Kwa nini uchague kizalishi hiki cha rangi nasibu?
- Kila rangi hutengenezwa kwenye kivinjari chako kupitia Web Crypto API, hakuna kinachopakiwa
- Rangi zote 16,777,216 zina uwezekano sawa wa kutokea, baiti moja nasibu kwa kila njia
- Misimbo ya HEX, RGB na HSL kwa rangi ileile, katika mchanganyiko wowote
- Hadi rangi 50 kwa mpigo, kila moja kwenye kielelezo chenye beji ya utofautishaji wa maandishi
- Zilizoiva, Pasteli, Za giza, Zilizopoa na Kijivu, au masafa yako mwenyewe ya toni, ukolezi na mwangaza
- Ya kipekee pale unapohitaji kuepuka marudio, na HEX katika herufi kubwa au bila #
- Bofya msimbo ili kuunakili, au badilisha rangi yoyote kwenye kichagua rangi cha kivinjari
- Nakili Vyote, Hifadhi kwenye faili na Historia ya makundi yako 10 ya mwisho kwenye kivinjari
- Bure kabisa na bila kikomo: hakuna kujisajili, hakuna kiwango cha juu, hakuna kinachohifadhiwa kwenye seva zetu
Rangi nasibu zinafaa popote pale ambapo rangi inahitajika kabla ya mtu yeyote kuamua ni ipi itumike. Wabunifu huzitumia kuvunja ugumu wa kubuni na kupata mahali pa kuanzia ambapo ubao wao wa kawaida wa rangi usingewahi kufika. Waendelezaji programu huzitumia kujaza mifano ya awali, maeneo ya kushikilia nafasi na picha za wasifu, kuipa kila mfululizo katika chati rangi yake wakati muundo halisi bado haujaamuliwa, na kupima jinsi kiolesura kinavyokabiliana na usuli ambao hakikuundwa kwa ajili yake — kundi la rangi 50 kutoka «Rangi zote» karibu kila mara hujumuisha angalau rangi moja nyeusi sana au nyepesi sana, na chaguo «Za giza» au «Pasteli» huelekeza jaribio kwenye upande husika. Wasanii wa kikanuni na watengenezaji wa michezo huingiza nambari hizi moja kwa moja kwenye nambari za programu, ambapo muundo wa RGB huendana moja kwa moja na maktaba nyingi za michoro. Walimu huweka miundo hii mitatu kando kwa kando kuonyesha kwamba rangi moja inaweza kuandikwa kama msimbo, kama njia tatu au kama nafasi kwenye mduara wa rangi, na kwa nini toleo la HSL limekadiriwa. Na mtu yeyote anayeweka lebo au kuweka alama za rangi kwenye orodha hupata rangi tofauti bila kuumiza kichwa akifikiria achague ipi.
Kuna mipaka michache ya kweli inayofaa kufahamika. Hiki ni kizalishi, si zana ya ubao wa rangi: hakitengenezi upatanifu wa rangi na hakifungi rangi moja huku nyingine zikibadilika, na masafa membamba hutoa rangi za aina moja, si rangi zilizochaguliwa ili zilingane pamoja. Beji ya utofautishaji inalinganisha maandishi meusi na meupe pekee. Ukurasa unafanya kazi katika rangi za sRGB ambazo skrini huonyesha — HEX, RGB na HSL — bila uwazi na bila CMYK, Pantone, OKLCH au rangi za majina za CSS; kwa ajili ya uchapishaji, linganisha rangi katika maandalizi ya uchapishaji badala ya kutegemea msimbo wa skrini. Msimbo uleule unaweza pia kuonekana tofauti kidogo kutoka skrini moja hadi nyingine, kwa sababu skrini hazijarekebishwa kwa usawa. Thamani za HSL zimekadiriwa, kama ilivyoelezwa hapo juu, na isipokuwa «Ya kipekee» imetiwa alama, kundi halikaguliwi kwa marudio. Kile ambacho ukurasa huu unahakikisha ni thabiti na kamili: kila moja ya rangi zake 16,777,216, au kila rangi ndani ya masafa uliyoweka, ina nafasi sawa katika kila mbofyo, ikitolewa kutoka chanzo cha kriptografia cha kivinjari chako na haitumwi popote kamwe.