你是否遇到过这样的问题?
项目的主色调是浅色,使用mockjs随机生成的图片却是五彩斑斓的鲜艳色调,导致项目演示的时候特别 违和 呢?
结果mockjs的图片亮瞎了我的眼,虽然颜色很好看,但是 不和谐 啊 > <~~
为了在期末答辩场上“一展雄风”,在我一番研究之后,终于搞出了mockjs生成浅色图片的方案。
请看效果:
十六进制颜色码原理
要想做出心仪的调调,首先要知道十六进制颜色码(#eeeeee)的原理。
十六进制颜色码由 ‘#’和3个16进制数相连组成。
我们知道,任何颜色都能通过红绿蓝三基色通过特定的比例调和而成。
而十六进制颜色码的3个十六进制数,则分别对应红的强度、绿的强度、蓝的强度。
实践
(演示使用十进制)
根据上面的法则,我们可以推出,如果想要一组红色调的图片,就应该让第一个十六进制数的值大于其他两个数的值。
我们可以设置为: # (150~200)(70-110)(70-110)
mockjs演示效果:
假设我想要一组浅色蓝绿调的图,则让绿和蓝的强度足够大、相差不多,并且大于红色的强度即可。
例如:: # (110~170)(200-225)(200-225)
mockjs演示效果:
如果仅仅是想要一组浅色的图,并且颜色跨度要足够多,则应该让三个色的强度都足够大(比如都大于100),并且随机数字的分布区间要大。
例如:# (180-225)(140-255)(120-255)
mockjs演示:
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图片颜色的博客,说不定我这是全网第一篇教程呢(嘻嘻)。如果你觉得对你有帮助的话,不妨点个赞吧~~
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!