项目的主色调是浅色,使用mockjs随机生成的图片倒是五彩斑斓的鲜艳色调,致使项目演示的时候特别 违和 呢?api
结果mockjs的图片亮瞎了个人眼,虽然颜色很好看,可是 不和谐 啊 > <~~markdown
为了在期末答辩场上“一展雄风”,在我一番研究以后,终于搞出了mockjs生成浅色图片的方案。dom
请看效果:spa
要想作出心仪的调调,首先要知道十六进制颜色码(#eeeeee)的原理。3d
十六进制颜色码由 ‘#’和3个16进制数相连组成。code
咱们知道,任何颜色都能经过红绿蓝三基色经过特定的比例调和而成。orm
而十六进制颜色码的3个十六进制数,则分别对应红的强度、绿的强度、蓝的强度。教程
(演示使用十进制)图片
根据上面的法则,咱们能够推出,若是想要一组红色调的图片,就应该让第一个十六进制数的值大于其余两个数的值。博客
咱们能够设置为: # (150~200)(70-110)(70-110)
mockjs演示效果:
假设我想要一组浅色蓝绿调的图,则让绿和蓝的强度足够大、相差很少,而且大于红色的强度便可。
例如:: # (110~170)(200-225)(200-225)
mockjs演示效果:
若是仅仅是想要一组浅色的图,而且颜色跨度要足够多,则应该让三个色的强度都足够大(好比都大于100),而且随机数字的分布区间要大。
例如:# (180-225)(140-255)(120-255)
mockjs演示:
Mock.mock('/api/data', (req, res) => {
const data = []
for (let i = 0; i < 16; i++) {
// 利用mockjs的Random随机生成数字并转成十六进制,拼接。
const a = '#' + Random.integer(180, 255).toString(16) +
Random.integer(140, 255).toString(16) +
Random.integer(120, 220).toString(16)
data.push({
image: Random.image('140x140', a, ' IMAGE ')
})
}
return data
})
复制代码
在研究出这个方法以前,我在网上都没搜到调节mockjs图片颜色的博客,说不定我这是全网第一篇教程呢(嘻嘻)。若是你以为对你有帮助的话,不妨点个赞吧~~