ColorPicker

继承: VBoxContainer < BoxContainer < Container < Control < CanvasItem < Item < Object

提供用于选择或修改颜色的界面的小部件。

描述

提供用于选择或修改颜色的界面的小部件。它可以选择提供颜色采样器(滴管)、颜色模式和预设等功能。

注意:此控件是颜色选择器小部件本身。如果您需要在弹出窗口中弹出ColorPicker的按钮,您可以使用ColorPickerButton

属性

方法

主题属性


信号

color_changed(color: Color) 🔗

颜色改变时发出。


preset_added(color: Color) 🔗

添加预设时发出。


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颜色空间更好地匹配感知,Oklab颜色空间旨在简单易用,同时在预测感知亮度、色度和色调方面做得很好。

Okhsv和Okhsl颜色空间


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 Color Model圆形颜色空间。

PickerShapeType SHAPE_NONE = 4

颜色空间形状和形状选择按钮被隐藏。无法从弹出的形状中选择。


属性说明

bool can_add_swatches = true 🔗

  • void set_can_add_swatches(value: bool)

  • bool are_swatches_enabled()

如果true,则可以在Swatch下添加预设。如果false,则禁用添加预设的按钮。


Color color = Color(1, 1, 1, 1) 🔗

  • void set_pick_color(value: Color)

  • Color get_pick_color()

当前选择的颜色。


ColorModeType color_mode = 0 🔗

当前选择的颜色模式。请参阅ColorModeType


bool color_modes_visible = true 🔗

  • void set_modes_visible(value: bool)

  • bool are_modes_visible()

如果true,则颜色模式按钮可见。


bool deferred_mode = false 🔗

  • void set_deferred_mode(value: bool)

  • bool is_deferred_mode()

如果true,则颜色仅在用户释放鼠标按钮后应用,否则即使在鼠标运动事件中也会立即应用(这可能会导致性能问题)。


bool edit_alpha = true 🔗

  • void set_edit_alpha(value: bool)

  • bool is_editing_alpha()

如果true,则显示alpha通道滑块(不透明度)。


bool hex_visible = true 🔗

  • void set_hex_visible(value: bool)

  • bool is_hex_visible()

如果true,则十六进制颜色代码输入字段可见。


PickerShapeType picker_shape = 0 🔗

颜色空间视图的形状。请参阅PickerShapeType


bool presets_visible = true 🔗

  • void set_presets_visible(value: bool)

  • bool are_presets_visible()

如果true,则色板和最近颜色预设可见。


bool sampler_visible = true 🔗

  • void set_sampler_visible(value: bool)

  • bool is_sampler_visible()

如果true,则颜色采样器和颜色预览可见。


bool sliders_visible = true 🔗

  • void set_sliders_visible(value: bool)

  • bool are_sliders_visible()

如果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主题属性。


int h_width = 30 🔗

色调选择滑块的宽度。


int label_width = 10 🔗

滑块旁边颜色标签的最小宽度。


int margin = 4 🔗

ColorPicker周围的边距。


int sv_height = 256 🔗

饱和度值选择框的高度。


int sv_width = 256 🔗

饱和度值选择框的宽度。


Texture2D add_preset 🔗

“添加预设”按钮的图标。


Texture2D bar_arrow 🔗

箭头抓取器的纹理。


Texture2D color_hue 🔗

右侧色调选择滑块的自定义纹理。


Texture2D expanded_arrow 🔗

展开时颜色预设下拉菜单的图标。


Texture2D folded_arrow 🔗

折叠时颜色预设下拉菜单的图标。


Texture2D menu_option 🔗

颜色预设选项菜单的图标。


Texture2D overbright_indicator 🔗

用于表示颜色值在0-1范围之外的指示器。


Texture2D picker_cursor 🔗

图像显示在颜色框/圆圈上(取决于picker_shape),标记当前选择的颜色。


Texture2D picker_cursor_bg 🔗

显示在选取器光标后面的填充图像。


Texture2D sample_bg 🔗

颜色预览框的背景面板(颜色半透明时可见)。


Texture2D sample_revert 🔗

恢复按钮的图标(当它与当前选择的颜色不同时,在“旧”颜色的中间可见)。如果“旧”颜色足够亮,则此图标将被调制为深色,因此图标应明亮以确保在两种情况下的可见性。


Texture2D screen_picker 🔗

屏幕颜色选择器按钮的图标。


Texture2D shape_circle 🔗

圆形拾取器形状的图标。


Texture2D shape_rect 🔗

矩形选择器形状的图标。


Texture2D shape_rect_wheel 🔗

矩形车轮拾取器形状的图标。