Solitude开发记:Canvas色值过深导致的缺失
文章摘要
iCat GPT
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结
在写api取色时,想起了一个存在很久的小Bug。在此之前Solitude只有本地取色功能,也就是将post-cover
的src创建为Canvas,再去算出平均颜色从而得到主色调。
但在颜色较深的图片下,就会计算丢失,使得最终的色值(RGB)不足六位。
解决方法
改动方法是在计算颜色值时,使用padStart函数来确保颜色值是2位数值。如果颜色值不足2位,padStart函数会在颜色值前面添加0,直到颜色值的长度达到2位。
1 | function coverColor() { |
那么在主色调接近深色时,发现侧边栏的个人卡片(作者)的card-info
和author-info__sayhi
字色和主色调(深黑)冲突了。新增变量brightness计算出亮度值,进行RGB颜色模型的权重,亮度值小于将对应的类赋值相对色。
为了在背景颜色较暗的情况下,以提高可读性。
1 | function coverColor() { |
贡献
引用站外链接
Hexo-theme-solitude | GitHub
🐞 fix:修复文章页cover过于深色导致的色值丢失
引用站外链接
Hexo-theme-solitude | GitHub
🐞 fix:调整cover色值为深色时,card-info的字色
引用站外链接
Hexo-theme-solitude | GitHub
🐞 fix:调整cover色值为深色时,author-info__sayhi的字色
- 感谢您的赞赏。
赞赏名单
因为有你们的支持,我才体会到写文章的价值。
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自亦小封
评论 ()