【问题标题】:Accessing each parameter of color() in Java [closed]在 Java 中访问 c​​olor() 的每个参数
【发布时间】:2018-07-23 22:03:00
【问题描述】:

所以,假设我有一个 Color 变量。现在,我显然可以通过调用变量来访问整个对象,但是如何只访问一部分(仅一个颜色通道)?

我希望能够将每个部分存储在一个数组中,然后在 for 循环中将每个部分更改一定数量(最终增加/减少亮度)。

感谢任何帮助。

【问题讨论】:

  • ...一个带有 color() 的变量...您创建了一个...带有 get() 的程序...我们应该知道您在说什么?
  • color()返回的变量是什么类型? Color Class?
  • @Johnny Mopp:它是这样存储的:color(r, g, b, a);。不过不确定。 @Stultuske:使用 get(x, y) 将返回该像素的颜色。
  • 您是“将 RGB 存储在数组中”还是使用java.awt.Color
  • 我目前将其存储为 java.awt.Color,但我希望将其存储为数组(第一个参数是 R,第二个是 G,第三个是 B,第四个是透明度)。

标签: java colors


【解决方案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;

【讨论】:

    猜你喜欢
    • 2015-12-27
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    相关资源
    最近更新 更多