Dark模式的动态切换

795 阅读1分钟

悦读 >> 技术·运维 >> 文章查看 Dark模式的动态切换 barkzhang 2019年12月30日 13:34 浏览(1) 收藏(0) 评论(0) 分享 编辑 随着手机版的深色模式出现在大众视野,我们项目的Dark模式适配也迫在眉睫。

这里举个简单的例子,从背景颜色层面上去看怎么做文字与图片的颜色适配方法。主要用的是YUV方法:

系统自动识别主色模式是浅色,还是深色,使用颜色的YUV方法,电视系统的颜色编码 。YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的相容问题,使黑白电视机也能接收彩色电视信号。Y:明度,U色彩,V饱和度

Y = 0.299R + 0.587G+ 0.114B

U = -0.147R -0.289G + 0.436B

V = 0.615R - 0.515G- 0.100B

判断主题深色系,浅色系,使用Y值即可

步骤:

1、取出背景颜色的R,G,B值

2、计算出Y值,如果Y大于192 表示背景色为浅色;配上自己想要的文字色

效果如下:

延伸使用场景:banner头图自定义配置;各类产品dark模式自适应

链接:codepen.io/zhangshupi8…