Gradient

继承: Resource < RefCounted < Object

颜色过渡。

描述

该资源通过定义一组着色点以及如何在它们之间插值来描述颜色过渡。

另请参阅Curve,它支持更复杂的缓解方法,但不支持颜色。

属性

PackedColorArray

colors

PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1)

ColorSpace

interpolation_color_space

0

InterpolationMode

interpolation_mode

0

PackedFloat32Array

offsets

PackedFloat32Array(0, 1)

方法

void

add_point(offset: float, color: Color)

Color

get_color(point: int)

float

get_offset(point: int)

int

get_point_count() const

void

remove_point(point: int)

void

reverse()

Color

sample(offset: float)

void

set_color(point: int, color: Color)

void

set_offset(point: int, offset: float)


枚举

enum InterpolationMode: 🔗

InterpolationMode GRADIENT_INTERPOLATE_LINEAR = 0

线性插值。

InterpolationMode GRADIENT_INTERPOLATE_CONSTANT = 1

恒定插值,颜色在每个点突然变化并保持均匀。在某些情况下,当用于渐变纹理时,这可能会导致明显的混淆现象。

InterpolationMode GRADIENT_INTERPOLATE_CUBIC = 2

三次插值。


enum ColorSpace: 🔗

ColorSpace GRADIENT_COLOR_SPACE_SRGB = 0

sRGB颜色空间。

ColorSpace GRADIENT_COLOR_SPACE_LINEAR_SRGB = 1

线性sRGB颜色空间。

ColorSpace GRADIENT_COLOR_SPACE_OKLAB = 2

Oklab颜色空间。此颜色空间提供颜色之间平滑且外观均匀的过渡。


属性说明

PackedColorArray colors = PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1) 🔗

渐变的颜色作为PackedColorArray

注意:设置此属性会一次更新所有颜色。要单独更新任何颜色,请使用set_color()

注意:返回的数组是 副本 ,对其进行的任何修改均不会影响原始属性值。更多详情请参阅 PackedColorArray


ColorSpace interpolation_color_space = 0 🔗

用于在渐变点之间插值的颜色空间。它不会影响返回的颜色,这些颜色将始终在sRGB空间中。有关可用模式,请参阅ColorSpace

注意:interpolation_mode设置为GRADIENT_INTERPOLATE_CONSTANT时,此设置无效。


InterpolationMode interpolation_mode = 0 🔗

用于在梯度点之间插值的算法。有关可用模式,请参阅InterpolationMode


PackedFloat32Array offsets = PackedFloat32Array(0, 1) 🔗

梯度偏移量作为PackedFloat32Array

注意:设置此属性会一次更新所有偏移量。要单独更新任何偏移量,请使用set_offset()

注意:返回的数组为 副本 ,对其进行的任何修改都不会影响原始属性值。详见 PackedFloat32Array


方法说明

void add_point(offset: float, color: Color) 🔗

使用指定的偏移量将指定的颜色添加到渐变。


Color get_color(point: int) 🔗

返回索引point处渐变颜色的颜色。


float get_offset(point: int) 🔗

返回索引point处渐变颜色的偏移量。


int get_point_count() const 🔗

返回渐变中的颜色数。


void remove_point(point: int) 🔗

删除索引point处的颜色。


void reverse() 🔗

反转/镜像渐变。

注意:此方法镜像梯度中间周围的所有点,当interpolation_mode设置为GRADIENT_INTERPOLATE_CONSTANT时,可能会产生意想不到的结果。


Color sample(offset: float) 🔗

返回offset指定的插值颜色。


void set_color(point: int, color: Color) 🔗

设置索引point处渐变颜色的颜色。


void set_offset(point: int, offset: float) 🔗

设置索引point处渐变颜色的偏移量。