Java 将0xFF转换为RGB值
我有一段用于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] =
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:这更清楚了,谢谢。不过,您应该使用上面的这些改进来编辑问题。