Im试图将我从黑白图像的getRGB函数获得的像素转换为无符号字节,如果我错了,我已经读取并更正了getRGB函数java返回整数值,所以我想要做的是看到0-255的值而不是负数的整数值。我试过这个没有成功:在JAVA中将像素从int转换为无符号字节
int width;
int height;
byte extract;
int asign;
int matrix[][];
for (i = 0; i < height; i++)
{
for (j = 0; j < width; j++)
{
extract =(byte)(xray.getRGB(j, i));
asign = (int)extract;
//asign = asign & 0xff;
asign = asign + 128;
matrix[i][j] = asign;
}
}
请注意,xray是一个延迟图像。 希望你能帮助我解决这个问题。正如你所看到的,我已经尝试过使用蒙版,我也尝试在演员投入后将值添加到128。
谢谢,我还有一个问题,如果,即时通讯使用它的形象,这是一个黑白图像,它supossed包含一个矩阵,该矩阵中的所有值都介于0到255之间,对吗?我的问题是,如果内部计算机仍然看到4个通道(阿尔法,红色,绿色,蓝色)或只看到一个通道,换句话说,像素由4个值组成,或者只有一个? – 2014-10-30 17:05:08
@LaloGalicia它可能被*存储*任何方式。最终,它将需要转换为整个屏幕的像素数据,但是,这将是RGB。现在,很多繁重的工作都是由显卡来完成的,CPU不必担心。所以这取决于你的意思*内部*:有很多不同的层次! – 2014-11-03 06:13:42
谢谢@ chiastic-security,我会尝试你告诉我的,并让你知道我的结果:D – 2014-11-05 04:24:18