パッケージが色を扱う場合、 開発者は、それら PEAR パッケージ内では、配列による色値の表現を 用いることが推奨されます。 すべての色値は、0 から 255 までの範囲となります。
以下の短いコードは、公式 PEAR ロゴで使用されている緑色の RGB 定義の 配列を示しています。
$color = array(0x33, 0x99, 0x00); |
$color = array(51, 153, 0); |
上記 RGB 表現の拡張として、第 4 の値にアルファチャンネル表現を 使用することができます。約 80% の不透明度の "PEAR-green" は、以下になります。
$color = array(0x33, 0x99, 0x00, 0xCC); |
このアルファ値は、imagecolorallocate()で使われるものと異なることに 注意してください。PEAR でのアルファ値表現は、RGB との統一性の面から 選択されています。また、(画像処理等の)他のアプリケーションでも よく使われているからでもあります。
RGB/RGBAがグラフィックの生成に使用される場合は、 色表現がRGB/RGBAであることを示す識別子を省略できることとしました。 他の色表現を用いる場合は、識別子を記述する必要があります。 識別子 "type" は、以下のように色表現の配列に記述します。
$color = array(0x33, 0x99, 0x00, 0xCC, "type" => "RGB"); |
RGB - red, green, blue
CYMK - cyan, yellow, magenta, black (key)
RGBA 表現については、タイプ指定は "RGB" とします。
Image_Color パッケージに、 ある色形式を内部 RGBA 表現に変換したり、異なる色表現へ変換したりするための 関数が (近日中に) 用意される予定です。
現在のところ、色名(たとえば、"green")や 16 進表現文字列(たとえば、 "#339900")を PEAR の RGBA 形式に変換できる関数が実装されています。 アルファチャンネルをサポートするべく作業を行っていますし、その後、 CYMK 変換の関数も加える予定です。