如何解决Java中double到int的类型不匹配错误
在我的课堂上,我们正在做一些颜色转换。我已经能够计算出简单的颜色转换,如红色、蓝色、绿色、紫色和黄色,但我无法计算出如何制作橙色或棕色。我试着乘以一个十进制数,比如g*0.6,但结果是类型不匹配(double而不是int)如何解决Java中double到int的类型不匹配错误,java,colors,Java,Colors,在我的课堂上,我们正在做一些颜色转换。我已经能够计算出简单的颜色转换,如红色、蓝色、绿色、紫色和黄色,但我无法计算出如何制作橙色或棕色。我试着乘以一个十进制数,比如g*0.6,但结果是类型不匹配(double而不是int) public void to yellow(){ //转换成黄色 对于(int y=0;y24)&0xff; int r=(p>>16)和0xff; int g=(p>>8)和0xff; intb=p&0xff; //将蓝色设置为零 p=(a使用(int)(g*0.6)将双精
public void to yellow(){
//转换成黄色
对于(int y=0;y>24)&0xff;
int r=(p>>16)和0xff;
int g=(p>>8)和0xff;
intb=p&0xff;
//将蓝色设置为零
p=(a使用(int)(g*0.6)
将双精度转换为int使用(int)(g*0.6)
将双精度转换为int非常感谢,这非常有效:D
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");
}
}
}