在我的类里面,我们正在做一些颜色转换。我已经能够弄清楚简单的颜色转换,如红色、蓝色、绿色、紫色和黄色,但我无法弄清楚如何制作橙色或棕色等颜色。我尝试乘以小数,例如 g*0.6,但最终得到类型不匹配(double 而不是 int)。
public void toYellow() {
//convert to yellow
for(int y = 0; y < img.getHeight(); y++){
for(int x = 0; x < img.getWidth(); x++){
int p = img.getRGB(x,y);
int a = (p>>24)&0xff;
int r = (p>>16)&0xff;
int g = (p>>8)&0xff;
int b = p&0xff;
//set blue to zero
p = (a<<24) | (r<<16) | (g<<8) | 0;
img.setRGB(x, y, p);
setColor("Yellow");
}
}
}
最佳答案
使用(int)(g*0.6)
将 double 型转换回int型
关于java - 如何解决Java中从double到int的类型不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42798831/