Gradient

继承: Resource < RefCounted < Object

A color transition.

描述

This resource describes a color transition by defining a set of colored points and how to interpolate between them.

See also Curve which supports more complex easing methods, but does not support colors.

属性

方法

voidadd_point ( offset: float, color: Color )
Colorget_color ( point: int )
floatget_offset ( point: int )
intget_point_count ( ) const1
voidremove_point ( point: int )
voidreverse ( )
Colorsample ( offset: float )
voidset_color ( point: int, color: Color )
voidset_offset ( point: int, offset: float )

枚举

enum InterpolationMode:

InterpolationMode GRADIENT_INTERPOLATE_LINEAR = 0

Linear interpolation.

InterpolationMode GRADIENT_INTERPOLATE_CONSTANT = 1

Constant interpolation, color changes abruptly at each point and stays uniform between. This might cause visible aliasing when used for a gradient texture in some cases.

InterpolationMode GRADIENT_INTERPOLATE_CUBIC = 2

Cubic interpolation.


enum ColorSpace:

ColorSpace GRADIENT_COLOR_SPACE_SRGB = 0

sRGB color space.

ColorSpace GRADIENT_COLOR_SPACE_LINEAR_SRGB = 1

Linear sRGB color space.

ColorSpace GRADIENT_COLOR_SPACE_OKLAB = 2

Oklab color space. This color space provides a smooth and uniform-looking transition between colors.


属性说明

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

Gradient's colors as a PackedColorArray.

Note: Setting this property updates all colors at once. To update any color individually use set_color.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedColorArray for more details.


ColorSpace interpolation_color_space = 0

  • void set_interpolation_color_space ( value: ColorSpace )
  • ColorSpace get_interpolation_color_space ( )

The color space used to interpolate between points of the gradient. It does not affect the returned colors, which will always be in sRGB space. See ColorSpace for available modes.

Note: This setting has no effect when interpolation_mode is set to GRADIENT_INTERPOLATE_CONSTANT.


InterpolationMode interpolation_mode = 0

The algorithm used to interpolate between points of the gradient. See InterpolationMode for available modes.


PackedFloat32Array offsets = PackedFloat32Array(0, 1)

Gradient's offsets as a PackedFloat32Array.

Note: Setting this property updates all offsets at once. To update any offset individually use set_offset.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedFloat32Array for more details.


方法说明

void add_point ( offset: float, color: Color )

Adds the specified color to the gradient, with the specified offset.


Color get_color ( point: int )

Returns the color of the gradient color at index point.


float get_offset ( point: int )

Returns the offset of the gradient color at index point.


int get_point_count ( ) const1

Returns the number of colors in the gradient.


void remove_point ( point: int )

Removes the color at index point.


void reverse ( )

Reverses/mirrors the gradient.

Note: This method mirrors all points around the middle of the gradient, which may produce unexpected results when interpolation_mode is set to GRADIENT_INTERPOLATE_CONSTANT.


Color sample ( offset: float )

Returns the interpolated color specified by offset.


void set_color ( point: int, color: Color )

Sets the color of the gradient color at index point.


void set_offset ( point: int, offset: float )

Sets the offset for the gradient color at index point.

2

本方法通常需要用户覆盖才能生效。

1

本方法无副作用,不会修改该实例的任何成员变量。

3

本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。

4

本方法用于构造某个类型。

5

调用本方法无需实例,可直接使用类名进行调用。

6

本方法描述的是使用本类型作为左操作数的有效运算符。

7

这个值是由下列位标志构成位掩码的整数。

8

无返回值。