SenseTalkの色値
色は、SenseTalkで、いくつかの異なる形式の成分値の組み合わせとして表現することができます。
サポートされる色形式
認識される形式は次の表にリストアップされています:
色形式 | 例値 | 説明 |
---|---|---|
Basic | 128,0,64 | 0から255の範囲の赤、緑、青の値 |
Alpha | 128,0,64,255 | 0から255の範囲の赤、緑、青、アルファ値 |
HTML | #800040 | ウェブページで使用される16進数形式の赤、緑、青の値 |
W | W, 0.241 | 0 (黒)から1 (白)の範囲の白値 |
WA | WA, 0.241, 1.000 | 0から1の範囲の白とアルファ値 |
RGB | RGB, 0.5, 0, 0.25 | 0から1の範囲の赤、緑、青の値 |
RGBA | RGBA, 0.5, 0.0, 0.25, 1.0 | 0から1の範囲の赤、緑、青、アルファ値 |
HSB | HSB, 0.917, 1.0, 0.5 | 0から1の範囲の色相、彩度、明度の値 |
HSBA | HSBA, 0.917, 1.0, 0.5, 1.0 | 0から1の範囲の色相、彩度、明度、アルファ値 |
CMYK | CMYK, 0.143, 0.942, 0.225, 0.274 | 0から1の範囲のシアン、マゼンタ、イエロー、黒の値 |
CMYKA | CMYKA, 0.143, 0.942, 0.225, 0.274, 1.000 | 0から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つの色を比較して、それらが同じ色を表すかどうかを見ることです。
Syntax:
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(その成分を可能な限り多く含む色)の範囲内です。
red
、green
、blue
関数を使用して、赤/緑/青の色空間を使用して表現される色の個々の成分を取得します。hue
、saturation
、brightness
関数を使用して、色相、彩度、明度の色空間を使用して表現される色の個々の成分を取得します。cyan
、magenta
、yellow
、black
関数を使用して、印刷時に一般的に使用されるシアン/マゼンタ/黄色/黒の色空間を使用して表現される色の個々の成分を取得します。white
関数を使用して、グレースケールの色空間を使用して色を評価し、0(黒)から1(白)の範囲で白のレベルを返します。alpha
関数を使用して、色値の不透明度を返します。これは0(透明)から1(不透明)の範囲です。
Syntax:
red( stringOrList ) , blue( stringOrList ) , ...
the red of stringOrList , the blue of stringOrList , ...
これらの関数は_stringOrList_を色として評価し、適切な色空間でその色に存在する要求された色成分の量を表す0から1の範囲の値を返します。black
とwhite
の関数は反対ではないことに注意してください。これらは色を異なる色空間で評価します。
例:
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
演算子を使用します。
Syntax:
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
関数はあまり必要ないでしょうが、互換性の理由から使用中の色モジュールのバージョンを確認する必要がある場合には使用することがあります。
Syntax:
STColorVersion()
the STColorVersion
返り値: STColorVersion
関数は数値を返します。
例:
if the STColorVersion < 1.02 then
//何かをする
end if