ColorPicker
继承: VBoxContainer < BoxContainer < Container < Control < CanvasItem < Node < Object
提供用于选择或修改颜色的界面的小工具。
描述
提供用于选择或修改颜色的界面的小工具。还可以提供取色器(吸管)、颜色模式、预设等功能。
注意:这个控件就是取色器本身。如果你需要一个能够弹出 ColorPicker 窗口的按钮,可以改用 ColorPickerButton。
教程
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
void | add_preset(color: Color) |
void | add_recent_preset(color: Color) |
void | erase_preset(color: Color) |
void | erase_recent_preset(color: Color) |
get_presets() const | |
get_recent_presets() const |
主题属性
| ||
| ||
| ||
| ||
| ||
| ||
信号
更改颜色时发出。
添加预设时发出。
preset_removed(color: Color) 🔗
移除预设时发出。
枚举
enum ColorModeType: 🔗
ColorModeType MODE_RGB = 0
允许使用红、绿、蓝滑块编辑颜色。
ColorModeType MODE_HSV = 1
允许使用色相、饱和度、明度滑块编辑颜色。
ColorModeType MODE_RAW = 2
允许颜色 R、G、B 分量值超过 1.0,这可用于某些需要它的特殊操作(例如在 HDR 中,着色而不变暗或渲染精灵)。
ColorModeType MODE_OKHSL = 3
允许使用色相/饱和度/亮度滑块编辑颜色。
OKHSL 是一种类似于 HSL 的新色彩空间,但通过利用设计简单易用的 Oklab 色彩空间更好地匹配感知,同时在预测感知亮度、色度和色调方面做得很好。
enum PickerShapeType: 🔗
PickerShapeType SHAPE_HSV_RECTANGLE = 0
HSV 颜色模型矩形色彩空间。
PickerShapeType SHAPE_HSV_WHEEL = 1
HSV 颜色模型矩形色彩空间,带轮。
PickerShapeType SHAPE_VHS_CIRCLE = 2
HSV 颜色模型圆形色彩空间。半径为饱和度。
PickerShapeType SHAPE_OKHSL_CIRCLE = 3
HSL OK 颜色模型圆形色彩空间。
PickerShapeType SHAPE_NONE = 4
色彩空间形状和形状选择按钮被隐藏。不能从形状弹出窗口中选择。
属性说明
bool can_add_swatches = true
🔗
如果为 true
,则可以在色板下添加预设。如果为 false
,添加预设的按钮将被禁用。
Color color = Color(1, 1, 1, 1)
🔗
当前选择的颜色。
ColorModeType color_mode = 0
🔗
void set_color_mode(value: ColorModeType)
ColorModeType get_color_mode()
当前选择的颜色模式。见 ColorModeType。
bool color_modes_visible = true
🔗
如果为 true
,则颜色模式按钮可见。
如果为 true
,只有在用户松开鼠标按钮后才会应用颜色,否则即使在鼠标移动事件中也会立即应用(会造成性能问题)。
如果为 true
,则显示 Alpha 通道滑块(不透明度)。
如果为 true
,则十六进制颜色代码输入框可见。
PickerShapeType picker_shape = 0
🔗
void set_picker_shape(value: PickerShapeType)
PickerShapeType get_picker_shape()
色彩空间视图的形状。见 PickerShapeType。
如果为 true
,则色板和近期颜色预设可见。
如果为 true
,则颜色采样器和颜色预览可见。
如果为 true
,则颜色滑块可见。
方法说明
void add_preset(color: Color) 🔗
将给定的颜色添加到颜色预设列表中。预设会显示在取色器中,可以被用户选择。
注意:预设列表仅适用于这个取色器。
void add_recent_preset(color: Color) 🔗
将给定的颜色添加到近期颜色预设列表中,以便以后可以选择它。近期预设是最近选择的颜色,当选择新颜色时,会自动创建新的预设并将其添加到近期预设中。
注意:近期预设列表仅适用于这个取色器。
void erase_preset(color: Color) 🔗
从这个取色器的颜色预设列表中移除给定的颜色。
void erase_recent_preset(color: Color) 🔗
从这个取色器的颜色近期预设列表中移除给定的颜色。
PackedColorArray get_presets() const 🔗
返回取色器的预设颜色列表。
PackedColorArray get_recent_presets() const 🔗
返回取色器的近期预设中的颜色列表。
主题属性说明
int center_slider_grabbers = 1
🔗
覆盖滑块的 Slider.center_grabber 主题属性。
色相选择滑块的宽度。
滑块旁颜色标签的最小宽度。
ColorPicker 周围的边距。
饱和值选择框的高度。
饱和度选择框的宽度。
“添加预设”按钮的图标。
箭头抓取器的纹理。
右侧的色相选择滑块的自定义纹理。
OKHSL 颜色模式的 H 滑块的自定义纹理。
颜色预设下拉菜单展开时使用的图标。
颜色预设下拉菜单折叠时使用的图标。
Texture2D overbright_indicator 🔗
该指示器用于指示颜色值在 0-1 范围之外。
显示在颜色框/圆(取决于 picker_shape)上的图像,标记当前选择的颜色。
颜色预览框的背景面板(颜色为半透明时可见)。
恢复按钮的图标(“旧”颜色与当前选中颜色不同时会在其中间显示)。如果“旧”颜色足够亮,那么这个图标会和暗色进行调制,这样图标应该就能够在不同的情况下都保持可见。
屏幕取色器按钮的图标。
圆形拾取器形状的图标。
矩形拾取器形状的图标。
矩形轮拾取器形状的图标。