Processing

PythonでProcessing Color Creating and Reading blue()

色から青の値を抽出し、現在のcolorMode()に合わせてスケーリングする。この値は常にfloatで返されるため、int値に代入しないように注意。

blue()関数は使いやすく理解しやすいが、ビットマスキングと呼ばれる手法に比べて遅いのが難点だ。colorMode(RGB, 255)で作業する場合、ビットマスクを使って他の色成分を取り除くことで、blue()と同じ結果をより高速に得ることができる。たとえば、次の2行のコードは、色値cの青の値を取得する同等の手段。

b1 = blue(c); # シンプルだが、計算に時間がかかる
b2 = c & 0xFF; # 計算が非常に速い

# 構文
# blue(rgb)
#
# パラメータ  
# rgb int:色データ型の任意の値

noStroke()
c = color(175, 100, 220)
fill(c)
rect(0, 0, width/2, height)
blueValue = blue(c)
print(blueValue)
fill(0, 0, blueValue)
rect(width/2, 0, width/2, height)