【问题标题】:What does this RGB value mean这个 RGB 值是什么意思
【发布时间】:2013-10-21 02:01:53
【问题描述】:

我正在使用 image.getRGB() 方法,但我不确定我得到的 int 值是什么意思。它返回一个-1,我不知道为什么。我只是想看看一个像素是黑色还是白色。

【问题讨论】:

  • 请贴代码;没有足够的信息给你答案。

标签: java image rgb pixel bufferedimage


【解决方案1】:

-1 可能意味着 0xFFFFFF 是白色的?

另请参阅此问题Java BufferedImage getRGB method and Color class 将 RBG int 值转换为 Color 实例

【讨论】:

    【解决方案2】:

    首先,你需要知道对于 java 来说,存储 int 需要 4 个字节;

    其次,getRGB方法返回RGB的alpha、红、绿、蓝分量,每个占1个字节,1个字节表示8位。

    第三,你可能需要知道 alpha 表示不透明的程度(表示不透明)

    并且,Two's Complement 中的 -1 是 11111111 11111111 11111111 11111111(如上所述的整数 32 位)

    现在你终于知道 alpha 部分是 255,所以红色、绿色、蓝色。这意味着,颜色不是透明的和白色的。

    【讨论】:

    • -16777216是否表示像素为黑色不透明?
    • -16777216 在 2 的补码中是 11111111 00000000 00000000 00000000,所以你是对的。
    猜你喜欢
    • 1970-01-01
    • 2012-12-30
    • 2012-01-29
    • 1970-01-01
    • 2011-04-11
    • 2018-10-29
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    相关资源
    最近更新 更多