Processing 3

问题描述 投票:0回答:1

在处理 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)。

任何帮助表示赞赏。

colors processing
1个回答
1
投票

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;
© www.soinside.com 2019 - 2024. All rights reserved.