gpt4 book ai didi

java - 如何从 Color 中提取 ARGB 并将它们转换为字节组件?

转载 作者:行者123 更新时间:2023-11-30 04:33:43 25 4
gpt4 key购买 nike

我在 Java/Android 中工作,我想获取 0xFFFFFFFF int 颜色并将其分成 4 个字节,分别表示红色、绿色、蓝色和 alpha。我知道 Color 有提取特定颜色值的方法,但它以 int 的形式提供它们。我浏览了 SDK,发现 Color.red(color) 方法与说 (color >> 16) & 0xFF 相同,老实说我没有知道这意味着什么,但我认为我可以以某种方式使用它。

我试过

byte red = (byte)Color.red(color);

但这似乎行不通。关键是我可以使用方法将值输入 OpenGL

glColorPointer(4, GL_UNSIGNED_BYTE, 4, myColors);

myColors 是一个 byte[]。

任何帮助/提示/要点将不胜感激。

最佳答案

如果 Color 有提取特定颜色值的方法,那么将 Red 提取为 int 并使其成为 Hex,然后是 Green,然后是 Blue。您可能还想提取 alpha。使用 Integer.toHexString(int) 可以打印 int 的十六进制值。(color >> 16) & 0xFF 将红色(通过移位和添加)定位到非 alpha 颜色的 6 个十六进制数字中的前 2 个。非 alpha 颜色 RBG 由 3 个字节的信息组成。每个字节都是一种颜色,顺序为 R(Red) B(Blue) G(Green) 。 0xFF是一个字节,如果设置为Red表示Color有全红等等

关于java - 如何从 Color 中提取 ARGB 并将它们转换为字节组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7251572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com