Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将0xFF转换为RGB值_Java_Rgb_Processing_Hex - Fatal编程技术网

Java 将0xFF转换为RGB值

Java 将0xFF转换为RGB值,java,rgb,processing,hex,Java,Rgb,Processing,Hex,我有一段用于Java应用程序的代码,我试图将0xFF的十六进制值替换为另一种颜色(最好用RGB值表示),这可能吗 void trailBlurEffect(int blendAmount, PGraphics buffer) { for (int i = 0, y = 0; y < buffer.height; y++) { for (int x = 0; x < buffer.width; x++, i++) { buffer.pixels[i] =

我有一段用于Java应用程序的代码,我试图将0xFF的十六进制值替换为另一种颜色(最好用RGB值表示),这可能吗

void trailBlurEffect(int blendAmount, PGraphics buffer) {
   for (int i = 0, y = 0; y < buffer.height; y++) {
     for (int x = 0; x < buffer.width; x++, i++) {
       buffer.pixels[i] = 0xff000000 | (( buffer.pixels[i]  & 0xFF) * blendAmount) >> 8;
     }
   }
   nodeBuffer.updatePixels();
}
void-trailblueffect(int-blendAmount,PGraphics缓冲区){
对于(int i=0,y=0;y>8;
}
}
nodeBuffer.updatePixels();
}
编辑:
我试图写一个不同的颜色,但我无法得到一个有效的结果,例如,用十六进制的红色替换0xFF(蓝色),它=0xFF0000,我的画布什么也不画。我的代码来自这个示例:openprocessing.org/sketch/52388

关于您试图实现的目标,还不清楚。RGB颜色以三种不同的数字给出:红色、绿色和蓝色值。每个值的范围从0到255。0xFF不是RGB值,它是表示一种颜色的值。要获得完整的RGB颜色,必须使用类似0xFF0000的颜色。所以不,你不能神奇地把0xFF变成蓝色,你还必须知道其他颜色的值。您可以输入三个值,然后从中形成颜色,即输入右值、gValue和bValue,然后将它们粘在一起,得到0xRRGGBB的经典RGB格式


希望这有帮助

我不懂二进制数学,但我想这就是我们在做的事情

  buffer.pixels[i]  & 0xFF

0xFF是要应用于缓冲区的掩码。像素[i]。因此,这不是获得所需颜色的方法。您可以尝试在draw()中的ellipse()之前调用fill(wantedColor),但正如作者在您指出的页面中所说,对于轨迹,他只使用了蓝色通道,我认为轨迹仍然是蓝色的。

您尝试过吗?您有什么问题吗?我正在尝试将0xFF转换为除蓝色以外的其他颜色,如果我使用红色的转换器,它等于FF0000,十六进制格式,但不起作用。这有点像是说您正在尝试将数字2转换为数字3。不清楚你想要完成什么。如果你想写一种不同的颜色:写一种不同的颜色。@user813611:这更清楚了,谢谢。不过,您应该使用上面的这些改进来编辑问题。