Processing

PythonでProcessing Color Creating and Reading green()

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

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

r1 = green(c) # シンプルだが、計算に時間がかかる
r2 = c >> 8 & 0xFF # 計算が非常に速い

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

noStroke()
c = color(20, 75, 200)
fill(c)
rect(0, 0, width/2, height)
greenValue = green(c)
print(greenValue)
fill(0, greenValue, 0)
rect(width/2, 0, width/2, height)