Javascript 我必须使3种颜色(红、绿、蓝)覆盖原始图像,但透明且垂直

Javascript 我必须使3种颜色(红、绿、蓝)覆盖原始图像,但透明且垂直,javascript,html,css,Javascript,Html,Css,我的代码生成的照片只有2种颜色,红色和蓝色,但照片应覆盖3种颜色,红色、绿色和蓝色: 我怎么做?我试了很多,但都没能解决这个问题。我的照片是这样的: 图片应如下所示: //在这里编写代码 var img=新SimpleImage('hilton.jpg'); 打印(img); var imgW=img.getWidth(); 打印(“宽度:”+imgW); for(img.values()的变量像素){ if(pixel.getX()=imgW/1.3)和(&(pixel.getX imgW

我的代码生成的照片只有2种颜色,红色和蓝色,但照片应覆盖3种颜色,红色、绿色和蓝色:

我怎么做?我试了很多,但都没能解决这个问题。我的照片是这样的:

图片应如下所示:

//在这里编写代码
var img=新SimpleImage('hilton.jpg');
打印(img);
var imgW=img.getWidth();
打印(“宽度:”+imgW);
for(img.values()的变量像素){
if(pixel.getX()=imgW/1.3)和(&(pixel.getX imgW/2.3){
像素设置值(255);
}
}
打印(img);

首先,您使用了不正确的分割法来分割三分之一。您应该将
imgW
除以3来分割为三段。其次,您键入了
pixel.getX
而不是
pixel.getX()
在您的
else if
中选择绿色像素,因此您将函数与函数的值进行比较,而不是与函数的返回值进行比较:

var img = new SimpleImage('hilton.jpg');
print(img);

var imgW = img.getWidth();
print('Width: ' + imgW);

for(var pixel of img.values()){
    var third = imgW / 3;

    if(pixel.getX() < third){
        pixel.setRed(255);
    }

    else if((pixel.getX() >= third) && (pixel.getX() <= 2 * third)) 
    {
        pixel.setGreen(255);
    }

    else if (pixel.getX() > 2 * third){
        pixel.setBlue(255);
    }
}

print(img);
var img=newsimplemage('hilton.jpg');
打印(img);
var imgW=img.getWidth();
打印(“宽度:”+imgW);
for(img.values()的变量像素){
第三个var=imgW/3;
if(pixel.getX()=third)&&(pixel.getX()2*third){
像素设置值(255);
}
}
打印(img);

这看起来不对:
pixel.getX
。您可能希望
pixel.getX()
@Adam没有问题
var img = new SimpleImage('hilton.jpg');
print(img);

var imgW = img.getWidth();
print('Width: ' + imgW);

for(var pixel of img.values()){
    var third = imgW / 3;

    if(pixel.getX() < third){
        pixel.setRed(255);
    }

    else if((pixel.getX() >= third) && (pixel.getX() <= 2 * third)) 
    {
        pixel.setGreen(255);
    }

    else if (pixel.getX() > 2 * third){
        pixel.setBlue(255);
    }
}

print(img);