メインコンテンツまでスキップ
バージョン:23.3

SenseTalkの色値

色は、SenseTalkで、いくつかの異なる形式の成分値の組み合わせとして表現することができます。

サポートされる色形式

認識される形式は次の表にリストアップされています:

色形式例値説明
Basic128,0,640から255の範囲の赤、緑、青の値
Alpha128,0,64,2550から255の範囲の赤、緑、青、アルファ値
HTML#800040ウェブページで使用される16進数形式の赤、緑、青の値
WW, 0.2410 (黒)から1 (白)の範囲の白値
WAWA, 0.241, 1.0000から1の範囲の白とアルファ値
RGBRGB, 0.5, 0, 0.250から1の範囲の赤、緑、青の値
RGBARGBA, 0.5, 0.0, 0.25, 1.00から1の範囲の赤、緑、青、アルファ値
HSBHSB, 0.917, 1.0, 0.50から1の範囲の色相、彩度、明度の値
HSBAHSBA, 0.917, 1.0, 0.5, 1.00から1の範囲の色相、彩度、明度、アルファ値
CMYKCMYK, 0.143, 0.942, 0.225, 0.2740から1の範囲のシアン、マゼンタ、イエロー、黒の値
CMYKACMYKA, 0.143, 0.942, 0.225, 0.274, 1.0000から1の範囲のシアン、マゼンタ、イエロー、黒、アルファ値

加えて、the namedColorsグローバルプロパティによって定義された多数の色名が認識されます。

デフォルトの色形式は、Basic形式と呼ばれ、0から255の範囲の値を持つ3つの数値のリストであり、色を構成する赤、緑、青の量を示しています。Alpha形式は、四番目の数値であるアルファ値を追加し、このアルファ値は、部分的に透明な色を扱うことができるシステムにおいて、値の不透明度を表します。アルファ値がゼロは透明を表します。

HTML形式は、色の赤、緑、青の成分ごとに2つの16進数桁から成る1つの値で、ポンド記号(#)に続きます。他の各形式は、形式コードで始まり、その後に特定の色モデルの各成分の量を表す0.0から1.0の範囲の数値値が続きます。

値を色として評価するとき、SenseTalkは適切な値のリスト、またはテキストリスト(コンマで区切られた値から成るテキスト文字列)のどちらを受け入れることができます。

以下で述べるコマンドや関数に加えて、スクリプト内で色を操作する特定の側面を統制するために使うことができる2つのSenseTalkグローバルプロパティがあります:

  • The ColorFormat
  • The NamedColor

これらのグローバルプロパティは、Global and Local Properties for Working with Valuesで定義されています。

SenseTalkには、色に関連するいくつかのコマンドと関数があります。

Color, AsColor 関数

動作: color関数は、認識される色形式の1つである文字列またはリストから色値を返します。the colorFormatプロパティのために記述された11の形式は、テキストリスト(アイテムがコンマで区切られる)としても、真の値のリストとしても認識されます。さらに、the namedColorsグローバルプロパティによって定義された色名を使用することができます。

color関数は、値がすでに色として表現されていない可能性がある場合に色が必要なときいつでも使用します。color関数の一般的な使用例は、異なる形式である可能性がある2つの色を比較して、それらが同じ色を表すかどうかを見ることです。

構文:

color( stringOrList )

the color of stringOrList

color関数は値を内部の色表現に変換します。これは同義のasColor関数またはas color演算子を使用して呼び出すこともできます。

例:

put color("#00FFFF") is the color of "aqua" -- 'true'と表示されます
if color of stripe is color("red") then
//何かをする
end if

関連:

Red, Green, Blue, Hue, Saturation, Brightness, Cyan, Magenta, Yellow, Black, White, Alpha関数

**動作:**これらの関数はそれぞれ、特定の色空間を使用して解釈された色の1つの成分値を返します。返される値は常に0(その成分を全く含まない色)から1(その成分を可能な限り多く含む色)の範囲内です。

redgreenblue関数を使用して、赤/緑/青の色空間を使用して表現される色の個々の成分を取得します。huesaturationbrightness関数を使用して、色相、彩度、明度の色空間を使用して表現される色の個々の成分を取得します。cyanmagentayellowblack関数を使用して、印刷時に一般的に使用されるシアン/マゼンタ/黄色/黒の色空間を使用して表現される色の個々の成分を取得します。white関数を使用して、グレースケールの色空間を使用して色を評価し、0(黒)から1(白)の範囲で白のレベルを返します。alpha関数を使用して、色値の不透明度を返します。これは0(透明)から1(不透明)の範囲です。

構文:

red( stringOrList ) , blue( stringOrList ) , ...

the red of stringOrList , the blue of stringOrList , ...

これらの関数は_stringOrList_を色として評価し、適切な色空間でその色に存在する要求された色成分の量を表す0から1の範囲の値を返します。blackwhiteの関数は反対ではないことに注意してください。これらは色を異なる色空間で評価します。

例:

put the red of "purple" -- 0.5
put blue("#00FFFF") -- 1
put hue("purple") -- 0.833333
put yellow("#00FFFF")-- 0.133043
put white of "purple" -- 0.268208

関連:

Is a Color 演算子

動作: is a color 演算子は、与えられた値が色として解釈できるかどうかをテストするための標準的な is a 演算子の拡張です。

スクリプトが値が色として有効かどうかを判断する必要があるときはいつでも、is a color 演算子を使用します。

構文:

value is a color

valueが認識される色形式の一つである文字列またはリスト、またはthe namedColorsグローバルプロパティで定義された色名の一つである場合、is a color演算子は“true”と評価されます。

例:

put "#00FFFF"is a color -- 'true'を表示
if shade is a color then
//何かをする
end if

STColorVersion 関数

動作: STColor Xmoduleのバージョン番号を返します。

STColorVersion関数はあまり必要ないでしょうが、互換性の理由から使用中の色モジュールのバージョンを確認する必要がある場合には使用することがあります。

構文:

STColorVersion()

the STColorVersion

返り値: STColorVersion関数は数値を返します。

例:

if the STColorVersion < 1.02 then
//何かをする
end if