色温值
色温是屏幕的一个重要参数,通常按照某个特定的白点去调整,标准一般有6500K(D65)和9000K(D90)两种。色温值的高低会影响屏幕的色彩表现,高于6500K表示屏幕色彩偏冷(冷屏),低于6500K表示屏幕色彩偏暖(暖屏)。对色温的喜好与所处的地理环境和瞳孔颜色有关,因此,选择何种色温值主要取决于个人喜好,以看着舒服为宜
安卓色温值转成rgb
借鉴网上其他语言的代码写的kotlin代码, 返回的是rgb整数值,如果要返回Color可自行修改,里面有红,绿,蓝,三色值。 色温转rgb,rgb再转色温,没找到严格的转换公式,可能精度上有差异。
网上不同的转换方法,得出来的值都不一样,能不能用,请自行思量。
class ColorUtil {
companion object {
/**
* 色温值转成rgb整数值
*
* @param temperature
* @return
*/
fun temperatureToRgb(temperature: Int): Int {
var tempera:Double = temperature.toDouble()
if (tempera < 1000) {
tempera = 1000.0
}
if (tempera > 40000) {
tempera = 40000.0
}
tempera = (tempera / 100.0F)
var red = 0.0
if (tempera <= 66) {
red = 255.0
} else {
red = tempera - 60
red = 329.698727446 * Math.pow(red, -0.1332047592)
if (red.compareTo(0.0) < 0) {
red = 0.0
} else if (red > 255.0) {
red = 255.0
}
}
var green = 0.0
if (tempera <= 66) {
green = tempera
green = 99.4708025861 * Math.log(green) - 161.1195681661
if (green < 0) {
green = 0.0
}
if (green > 255) {
green = 255.0
}
} else {
green = tempera - 60
green = 288.1221695283 * Math.pow(green, -0.0755148492)
if (green < 0) {
green = 0.0
}
if (green > 255) {
green = 255.0
}
}
var blue = 0.0
if (tempera >= 66) {
blue = 255.0
} else {
if (tempera <= 19) {
blue = 0.0
} else {
blue = tempera - 10
blue = 138.5177312231 * Math.log(blue) - 305.0447927307
if (blue < 0) {
blue = 0.0
}
if (blue > 255) {
blue = 255.0
}
}
}
/**
* rgb中的red, green,blue必须转为int, 不能是浮点,否则值差异非常大
* 另外还要把右移8位,且符号位要置为0,比如(255, 186, 129)转成hex得到ffffba81, 我们需要的是ffba81
*/
val intValue = Color.rgb(red.toInt(), green.toInt(), blue.toInt()) and(0xffffff)
return intValue
}
}
}
色温对眼睛的影响
视觉舒适度
- 低色温:色温较低时,光线偏黄、偏暖。在这种光线下,眼睛会感觉比较放松,就像处于温馨的室内环境中。但如果长时间处于低色温环境且光线较暗,眼睛可能会因视物不够清晰而过度调节,容易引起疲劳。
- 高色温:高色温的光线偏蓝、偏冷,能提供较高的亮度和清晰度,在白天或需要集中注意力的场景下,能让眼睛更敏锐地感知物体细节。然而,长时间处于高色温环境中,尤其是在夜间,眼睛可能会受到较强光线的刺激,产生不适感,如干涩、刺痛等。
睡眠质量
- 低色温:晚上使用低色温的灯光,有助于促进褪黑素的分泌。褪黑素是一种由人体脑内松果体腺分泌的胺类激素,能帮助调节睡眠 - 觉醒周期,让人感到困倦,更容易进入睡眠状态,从而提高睡眠质量。
- 高色温:高色温的光线会抑制褪黑素的分泌,使大脑保持清醒状态。如果在睡前长时间暴露在高色温光下,可能会导致入睡困难,影响睡眠质量,长期下去还可能打乱生物钟,对眼睛和身体健康都产生不利影响。
眼部健康
- 低色温:如果低色温光线过暗,眼睛为了看清物体,会不断调整瞳孔大小和晶状体焦距,长期处于这种状态,容易导致眼睛疲劳、干涩,甚至可能引发近视、散光等问题。
- 高色温:长期暴露在高色温、高强度的光线下,可能会对眼睛的视网膜造成损伤。例如,蓝光属于高色温光线,过量的蓝光照射可能会引起视网膜色素上皮细胞的损伤,进而影响视网膜的正常功能,增加黄斑病变等眼部疾病的发病风险。
为保护眼睛健康,应根据不同的场景和时间选择合适的色温。例如,在白天或需要集中精力工作学习时,可使用较高色温的光线;而在晚上或休息时,应选择低色温的柔和光线。
作者:帅得不敢出门