在这里,我必须编写一个程序,通过向红色添加一个给定的值来使图像中有更多的红色,确保它不会超过255.程序应该有一个名为moreRed的函数,带有两个参数,一个像素和一个增加红色的值。我必须在图像上运行程序才能看到它变红。 我不确定如何为moreRed编写函数,这将导致一个工作程序,其中红色的值增加或减少某个变量。我认为我说得对,只需要有错误信息我就弄明白为什么。
function moreRed(pixel, increaseRedByXpixels) {
var red = pixel.getRed() + increaseRedByXpixels;
if (red > 255) red = 255;
pixel.setRed(red);
var img = new SimpleImage("pixabayhands.jpg");
for (var pix in img.values()); {
moreRed(pix, 80);
print (img);
}
}
答案 0 :(得分:1)
循环条件后的分号是导致问题的原因:
for(var pix in img.values()); {
----------------------------^
答案 1 :(得分:0)
我找到了正确答案:
function moreRed(pixel, increaseRedByXpixels){
var red = pixel.getRed() + increaseRedByXpixels;
if (red > 255){
red = 255;
}
pixel.setRed(red);
}
var image = new SimpleImage("pixabayhands.jpg");
print(image);
for(var pix of image.values()){
moreRed(pix, 80);
}
print(image);
上面的代码完美无缺,我犯了一个错误。我写了''而不是'在我的for循环中。