实用型ColorPicker的设计与实现
一、前言 ColorPicker,颜色选取器,简称拾色器。说到拾色器,大家可能就会想到Photoshop, 使用得最多的应该是设计, 对于开发而言,平常要用到拾色器的机会不多。如果有一天,项目中需要一个拾色器(多用于自定义颜色),该如何入手?今天且来给大家分享一下拾色器的设计和实现。 二、颜色空间 要实现实用的拾色器,了解下颜色空间是必要的。颜色空间也称彩色模型(又称彩色空间或彩色系统),它的用途是在某些标准下用通常可接受的方式对彩色加以说明。关于颜色空间,文末附有一些链接,都是前人的精华总结。尤其是《色彩空间中的 HSL、HSV、HSB 有什么区别》中的讨论(知乎大神的作答),读完立即醍醐灌顶,茅塞顿开。 本节主要摘录各大神的一些表述,并加以整理。为了阅读体验,就不逐一附上作者了,具体见文后链接。 2.1 RGB空间 RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好像有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和,越混合亮度越高,即加法混合。红、绿、蓝三个颜色通道每种色各分为256阶亮度,在0时“灯”最弱——是关掉的,而在255时“...

