【问题标题】:how to get separate color components java?如何获得单独的颜色分量java?
【发布时间】:2026-02-05 19:20:04
【问题描述】:

假设我有 int color...我如何找到每个红色、绿色和蓝色分量?

到目前为止,我有这段代码:-

int red = rgb & 0xFF0000;

int green = rgb & 0x00FF00;

int blue = rgb & 0x0000FF;

我被这个困住了。谢谢。

【问题讨论】:

    标签: java colors rgb


    【解决方案1】:

    创建Color 类的对象来存储您的颜色,并且该类提供了类似的方法 getBlue() , getRed() , getGreen() 检索相应的组件

    该类提供了一个以颜色为 int 的构造函数,使用该构造函数,然后使用上述方法。

    详情请看这里

    color api

    【讨论】:

      【解决方案2】:
      int red = (rgb >> 16) & 0xFF;
      
      int green = (rgb >> 8) & 0xFF;
      
      int blue = rgb & 0xFF;
      

      【讨论】:

      • @user1705070 你需要将组件信息移到最低8位。
      【解决方案3】:

      让颜色(int rgb) 整数参数的前 8 位被忽略,而后 24 位定义颜色 - 8 位用于红色,8 位用于绿色,最后 8 位用于蓝色。 例如:颜色位模式为 00000000000000001111111100000000。 代表纯绿色。 http://cs.roanoke.edu/~cpsc/Fall2011/CPSC120A/lab4/lab4in.html

      【讨论】: