Javascript 我必须使3种颜色(红、绿、蓝)覆盖原始图像,但透明且垂直
我的代码生成的照片只有2种颜色,红色和蓝色,但照片应覆盖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
//在这里编写代码
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);