Сия библиотека поможет перевести цифровые цвета RGB из шестнадцатеричной записи вида #XXXXXX
в десятичную вида RGB(XXX,XXX,XXX)
и обратно. В RGB можно указывать значения числами (по умолчанию) и процентами (нужно передать true
вторым аргументом). На входе и выходе - строка.
Автоматическое определение направления есть, определяется по наличию #
во входных данных.
Помимо базовой функциональности в библиотеке есть и функция get_cowb
, возвращающая значение контрастного цвета для переданного образца. Поможет в том случае, если образец будет фоном, поверх коего нужно что-то разборчиво написать. На выходе - значение черного или белого цвета, по умолчанию в том формате, в котором передан образец, но можно передать вторым аргументом и иной формат по желанию: hex
, rgb
или rgb_percent
- полагаю, суть значений вполне очевидна. Ежели передать вторым аргументом что-то, но иное - будет возвращен результат в виде текста black
или white
- что может быть полезно порою.
Варианты использования:
tzwilight.hex2rgb("#XXXXXX")
tzwilight.auto("#XXXXXX", true)
tzwilight.auto("RGB(XXX,XXX,XXX)")
tzwilight.rgb2hex("RGB(XX%,XX%,XX%)", true)
tzwilight.get_cowb("#XXXXXX")
tzwilight.get_cowb("RGB(XXX,XXX,XXX)", "rgb_percent")
Ряд проверок корректности передаваемых аргументов имеется. При этом библиотека вельми круто удаляет ненужное, так что даже странные записи с лишними символами обычно пройдут. Впрочем, конечно, злоупотреблять наркоманскими входными данными не стоит.
Примеры:
tzwilight.auto("#FF8799") // RGB(255,135,153)
tzwilight.hex2rgb("#079", true) // RGB(0%,47%,60%)
tzwilight.rgb2hex("RGB(0,255,0)") // #00FF00
tzwilight.auto("RGB(66%,55%,44%)", true) // #A88C70
tzwilight.rgb2hex("RGB jj (0, 2 55, 0)____;") // #00FF00
tzwilight.get_cowb("#979") // #000000
tzwilight.get_cowb("RGB(10%,40%,99%)", "hex") // #FFFFFF
tzwilight.get_cowb("RGB(0,0,102)", "ololoepty") // white