gpt4 book ai didi

java - 对java像素操作真的很困惑

转载 作者:行者123 更新时间:2023-12-01 17:28:18 26 4
gpt4 key购买 nike

这部分我对这 3 个十六进制的作用感到困惑,例如 00ff0000,以及为什么它们被位移 16 或 8 位

 // Getting pixel color by position x=100 and y=40 
int clr= image.getRGB(100,40);
int red = (clr & 0x00ff0000) >> 16;
int green = (clr & 0x0000ff00) >> 8;
int blue = clr & 0x000000ff;

最佳答案

像素的颜色信息以单个 32 位整数编码。最低 8 位存储蓝色信息,第 8 至 15 位存储绿色,第 16 至 23 位存储红色。位 24 至 31 存储 alpha 值。您首先显示的代码通过使用 and 运算屏蔽它们来选择正确的位。为了用它们进行计算,它们被移动以代表它们的实际值。

clr & 0x0000ff00

选择位置 8 到 15 的位,

(clr & 0x0000ff00) >> 8

将结果向右移动 8 个位置。

关于java - 对java像素操作真的很困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334489/

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