在处理 3 中,给定一个存储颜色的
color
类型的变量,如何访问每个单独的颜色通道?
例如,给定以下代码:
color c = color(200, 100, 50);
int r, g, b;
我想从
c
中提取每个R,G和B值并将它们分别存储在r
,g
和b
中,这样:
r == 200
g == 100
b == 50
color()
的 Processing 3 参考没有概述提取这些颜色通道的任何方法(参见 https://processing.org/reference/color_.html)。
任何帮助表示赞赏。
java.awt.Color
有专门获取每个组件的方法
int a = color.getAlpha();
int r = color.getRed();
int g = color.getGreen();
int b = color.getBlue();
BufferedImage
,使用位掩码可能更容易
int c = color.getRGB(); //or image.getRGB(x, y)
int a = (c & 0xFF000000) >> 24;
int r = (c & 0xFF0000) >> 16;
int g = (c & 0xFF00) >> 8;
int b = c & 0xFF;