カスタムカラー#

導入#

color クラスは、IQ(第1世代)Brainで色を定義および変更するために使用されます。色は、RGB値、16進数カラーコード、HSV値、または定義済みのカラー定数を使用して作成できます。

クラスコンストラクタ#

1 — 色が割り当てられていない color オブジェクトを作成します。

color();

2 — 16進数または整数値から、 color オブジェクトを作成します。

color( 
  int value );

3 — RGB値から color オブジェクトを作成します。

color( 
  uint8_t r, 
  uint8_t g, 
  uint8_t b );

クラスデストラクタ#

color オブジェクトを破棄し、関連するリソースを解放します。

~color();

パラメータ#

パラメータ

タイプ

説明

value

int

色の値は、16進数のRGB整数(例: 0xFFF700)または以下にリストされている定義済みのカラー定数のいずれかです。

r

uint8_t

赤色成分を表す0から255までの整数。

g

uint8_t

緑色の成分を表す0から255までの整数。

b

uint8_t

青色の成分を表す、0から255までの整数。

注記#

  • 以下の定義済みカラー定数がサポートされています:

    • black
    • blue
    • blue_green
    • blue_violet
    • cyan
    • green
    • orange
    • purple
    • red
    • red_orange
    • red_violet
    • transparent
    • violet
    • white
    • yellow
    • yellow_green
    • yellow_orange

例#

// Create the color yellow using a hexadecimal value
color myYellow = color(0xFFF700);

// Create a color using RGB values
color myBlue = color(0, 100, 255);

// Create a color using a predefined constant
color myRed = color(red);

メンバーの機能#

color クラスには、以下のメンバ関数が含まれています。

  • rgb — RGB値を使用して色を更新します。

  • hsv — HSV値を使用して色を更新します。

  • web — Web 16 進カラー文字列を使用して色を更新します。

color メンバー関数を呼び出す前に、以下に示すように color インスタンスを作成する必要があります。

// Create a color using RGB values
color brainColor = color(255, 128, 0);

rgb#

既存の color オブジェクトの色をRGB値を使用して更新します。

Available Functions

1 — パックされた RGB 値でカラー オブジェクトを更新します。

uint32_t rgb( 
  uint32_t value );

2 — 色オブジェクトを個別の RGB 値で更新します。

uint32_t rgb( 
  uint8_t r, 
  uint8_t g, 
  uint8_t b );

Parameters

パラメータ

タイプ

説明

value

uint32_t

3つの色成分すべてを含むパックされたRGB値。

r

uint8_t

色の赤色成分を表す、0から255までの整数。

g

uint8_t

色の緑色成分を表す、0から255までの整数。

b

uint8_t

色の青色成分を表す、0から255までの整数。

Return Values

更新された色のパックされたRGB値を表す uint32_t を返します。

Examples
// Drive until a teal object is found
color brainColor = color(50, 200, 180);
Drivetrain.drive(forward);
while (true) {
    if (Color1.detects(brainColor)) {
        Drivetrain.stop();
        break;
    }
    wait(0.5, seconds);
}

hsv#

既存の色 color オブジェクトの色を、色相、彩度、明度の値を使用して更新します。

Available Functions
color& hsv( 
  uint32_t hue, 
  double   sat, 
  double   value );

Parameters

パラメータ

タイプ

説明

hue

uint32_t

色の色相を表す、0から360までの整数。

sat

double

色の彩度を表す、0.0から1.0までのdouble型の値。

value

double

色の明るさを表す、0.0から1.0までのdouble型の値。

Return Values

更新された color オブジェクトへの参照を返します。

Examples
// Create a custom teal color
color brainColor = color(50, 200, 180);
// Change the color to magenta
brainColor.hsv(300, 0.75, 0.78);

// Drive forward until a magenta object is found
Drivetrain.drive(forward);
while (true) {
    if (Color1.detects(brainColor)) {
        Drivetrain.stop();
        break;
    }
    wait(0.5, seconds);
}

web#

既存の color オブジェクトの色を、16進数またはWebカラー値を使用して更新します。

Available Functions
color& web( 
  const char* color );

Parameters

パラメータ

タイプ

説明

color

const char*

特定の色を定義する16進数またはWebカラー値(例: “#FF0000” は赤)。

Return Values

更新された color オブジェクトへの参照を返します。

Examples
// Create a custom teal color
color brainColor = color(50, 200, 180);
// Change the color to magenta
brainColor.web("#AA2896");

// Drive forward until a magenta object is found
Drivetrain.drive(forward);
while (true) {
    if (Color1.detects(brainColor)) {
        Drivetrain.stop();
        break;
    }
    wait(0.5, seconds);
}