Class: Miyako::Color
Overview
色を管理するクラス
色情報は、、[r,g,b,a(透明度)]の2種類の配列
それぞれの要素の値は0〜255の範囲
4要素必要な色情報に3要素の配列を渡すと、自動的に4要素目(値は255)が挿入される
(注)本クラスで採用する透明度と、画像が持つ透明度とは別物
Constant Summary collapse
- @@symbol2color =
{:black => [ 0, 0, 0, 255], :white => [255,255,255, 255], :blue => [ 0, 0,255, 255], :green => [ 0,255, 0, 255], :red => [255, 0, 0, 255], :cyan => [ 0,255,255, 255], :purple => [255, 0,255, 255], :yellow => [255,255, 0, 255], :light_gray => [200,200,200, 255], :half_gray => [128,128,128, 255], :half_blue => [ 0, 0,128, 255], :half_green => [ 0,128, 0, 255], :half_red => [128, 0, 0, 255], :half_cyan => [ 0,128,128, 255], :half_purple => [128, 0,128, 255], :half_yellow => [128,128, 0, 255], :dark_gray => [ 80, 80, 80, 255], :dark_blue => [ 0, 0, 80, 255], :dark_green => [ 0, 80, 0, 255], :dark_red => [ 80, 0, 0, 255], :dark_cyan => [ 0, 80, 80, 255], :dark_purple => [ 80, 0, 80, 255], :dark_yellow => [ 80, 80, 0, 255]}
Class Method Summary collapse
-
.[](name, alpha = nil) ⇒ Object
シンボルから色情報を取得する name::色に対応したシンボル(以下の一覧参照)。存在しないシンボルを渡したときはエラーを返す 返却値::シンボルに対応した4要素の配列.
-
.[]=(name, value) ⇒ Object
Color.[]メソッドで使用できるシンボルと色情報との対を登録する name:: 色に対応させるシンボル value:: 色情報を示す3〜4要素の配列。3要素のときは4要素目を自動的に追加する.
-
.to_rgb(v, alpha = nil) ⇒ Object
様々な形式のデータを色情報に変換する v::変換対象のインスタンス。変換可能な内容は以下の一覧参照 alpha::透明度。デフォルトはnil.
-
.to_s(cc) ⇒ Object
色情報をColor.[]メソッドで使用できるシンボルと色情報との対を登録する cc:: 色情報(シンボル、文字列) value:: 色情報を示す3〜4要素の配列。3要素のときは4要素目を自動的に追加する.
Class Method Details
.[](name, alpha = nil) ⇒ Object
シンボルから色情報を取得する
name::色に対応したシンボル(以下の一覧参照)。存在しないシンボルを渡したときはエラーを返す 返却値::シンボルに対応した4要素の配列
- シンボル
-
色配列()
- :black
- 0, 0, 0, 255
- :white
- 255,255,255, 255
- :blue
- 0, 0,255, 255
- :green
- 0,255, 0, 255
- :red
- 255, 0, 0, 255
- :cyan
- 0,255,255, 255
- :purple
- 255, 0,255, 255
- :yellow
- 255,255, 0, 255
- :light_gray
- 200,200,200, 255
- :half_gray
- 128,128,128, 255
- :half_blue
- 0, 0,128, 255
- :half_green
- 0,128, 0, 255
- :half_red
- 128, 0, 0, 255
- :half_cyan
- 0,128,128, 255
- :half_purple
- 128, 0,128, 255
- :half_yellow
- 128,128, 0, 255
- :dark_gray
- 80, 80, 80, 255
- :dark_blue
- 0, 0, 80, 255
- :dark_green
- 0, 80, 0, 255
- :dark_red
- 80, 0, 0, 255
- :dark_cyan
- 0, 80, 80, 255
- :dark_purple
- 80, 0, 80, 255
- :dark_yellow
- 80, 80, 0, 255
87 88 89 90 91 |
# File 'lib/Miyako/API/color.rb', line 87 def Color.[](name, alpha = nil) c = (@@symbol2color[name.to_sym].dup or raise MiyakoError, "Illegal Color Name! : #{name}") c[3] = alpha if alpha return c end |
.[]=(name, value) ⇒ Object
Color.[]メソッドで使用できるシンボルと色情報との対を登録する
- name
-
色に対応させるシンボル
- value
-
色情報を示す3〜4要素の配列。3要素のときは4要素目を自動的に追加する
96 97 98 99 |
# File 'lib/Miyako/API/color.rb', line 96 def Color.[]=(name, value) @@symbol2color[name.to_sym] = value @@symbol2color[name.to_sym] << 255 if value.length == 3 end |
.to_rgb(v, alpha = nil) ⇒ Object
様々な形式のデータを色情報に変換する
v::変換対象のインスタンス。変換可能な内容は以下の一覧参照 alpha::透明度。デフォルトはnil
- インスタンス
-
書式
- 配列
-
最低3要素の数値の配列
- 文字列
-
”#RRGGBB“で示す16進数の文字列、もしくは”red“、”black“など。使える文字列はColor.[]で使えるシンボルに対応
- 数値
-
32bitの値を8bitずつ割り当て(aaaaaaaarrrrrrrrggggggggbbbbbbbb)
- シンボル
-
Color.[]と同じ
110 111 112 113 114 |
# File 'lib/Miyako/API/color.rb', line 110 def Color::to_rgb(v, alpha = nil) c = (v.to_miyako_color or raise MiyakoError, "Illegal parameter") c[3] = alpha if alpha return c end |