Qt中已经有一些封装好的对话框,比如QMessageBox、QColorDialog等,使用起来快捷方便,但缺点是我们无法为它们自定义样式,所以可能难以“融入”我们的项目。既然如此,那就自己做一个把。抱着这样的想法,我设计了一个颜色编辑选取对话框。
设计界面时,我参考了photoshop的拾色器、windows的画图软件以及一个手绘控件软件mockup。
最终完成的界面如下:
它包括以下一些功能:
- 选取预设的基本颜色
- 添加自定义颜色方便下次选取
- 从颜色拾取区域选择颜色
- 预览当前颜色和新选择的颜色
- 查看和编辑调整颜色的hsv、rgb和16进制值
下面对一些重点难点作相关介绍:
一、色调、饱和度、亮度
从上图可以看到,右边的矩形是调整色调的区域,这部分亮度和饱和度都是100%,色调值由下往上递增,范围是0-360。
左边的正方形区域是在某个色调值下,调整饱和度和亮度。亮度由下往上递增,饱和度由左往右递增。
色调(Hue)、饱和度(Saturation)、亮度(Brightness或Value)三者决