在看這篇文章的很多童鞋們,應(yīng)該有很多平時會code一些東西宋梧,也相信多少有過這樣的小煩惱:視覺對不同的塊想要有所區(qū)分缀踪,呈現(xiàn)出的界面顯單調(diào)啊...忿薇,此時大家估計已經(jīng)猜到我們需要什么,對岳链,顏色花竞!eh~,那這塊用這個色掸哑,那塊用這個色约急,開始還都美感爆棚零远,挑來挑去搭配的不亦樂乎】局妫可是過陣子遍烦,啊~ 這個用哪個色呀 這個色用的太多了 這個不好看啊、沒色可挑了 en 在修來改去 十幾分鐘過去了~ 最后躺枕,顏色還是那么不好看服猪,還影響了心情!
自己設(shè)置顏色值拐云,效果不好罢猪、浪費時間還影響心情,那咋辦叉瘩?靈光一閃膳帕,隨機生成唄!秒出還不影響心情薇缅,還能每次看到不同的色彩危彩。 那如何隨機呢,現(xiàn)在我們走入本文正題泳桦。
主要功能
隨機生成視覺搭配的背景色和文本色
設(shè)計原理
通過隨機生成色值汤徽,解決了我們對顏色的需求。但如何生成灸撰,要生成什么樣的谒府,才是重點。浮毯,這里僅鑒于我對色彩搭配的淺薄了解完疫,作出如下設(shè)計:
- 背景色和文本色采用互補的方式進行搭色,已最大概率的保證隨機出的背景色和文本色深淺明顯债蓝,易于辨別壳鹤;
- 采用顏色的rgb值,通過隨機方法生成0-255之間的數(shù)惦蚊,分別賦給rgb的三個值r,g,b器虾;
- 經(jīng)實踐,為美觀一點蹦锋,背景色給予20的透明度兆沙。
- 綜上,背景色即為rgba(r,g,b,.2)莉掂,文本色即為rgb(r,g,b)
具體實現(xiàn)
依上述原理進行如下實現(xiàn):
- 隨機生成0-255之間的數(shù)
Math.round(Math.random()*255)
- 生成背景色和文本色
let c = [Math.round(Math.random()*255), Math.round(Math.random()*255), Math.round(Math.random()*255)]
let bgColor = 'rgba('+c[0]+','+c[1]+','+c[2]+',.2)'
let color = 'rgb('+ (255-c[0]) + ',' + (255-c[1]) + ',' + (255-c[2]) + ')'
就這樣葛圃,一個簡單的搭配色生成器就出來了,要你不再煩惱??。完整代碼呈現(xiàn)如下:
github分享:https://github.com/linger777/xiaochengxu/blob/master/xcxmodule/src/readmes/GENERATECOLOR.md
gitee分享:https://gitee.com/linger777/xiaochengxu/blob/master/xcxmodule/src/readmes/GENERATECOLOR.md
有需要的童鞋自取库正。如何使用這里就不贅述了曲楚,點擊上述鏈接就可看到。
番外
估計看過后的童鞋褥符,會覺得就這么簡單就完事了嗎龙誊?是的,目前就是這樣了~喷楣,以后若遇到更好的顏色搭配理論支撐趟大,將及時調(diào)整實現(xiàn)。
PS:小伙伴們在使用過程中铣焊,如有好的想法逊朽,歡迎提出寶貴建議,一起改進曲伊。