如何纠正错误



我正在尝试编写一个程序,该程序绘制一个 200 像素乘 200 像素的正方形,正方形的颜色为红色(红色值 255(、绿色(绿色值 255(、蓝色(蓝色值 255(和洋红色(红色值 255 和蓝色值 255(。所有其他 RGB 值都设置为 0。但是,我的代码有一个错误,并产生了相当黄色、绿色、洋红色和蓝色。如何获得红色而不是黄色?下面是我的代码。

var img = new SimpleImage(200,200);

for (var px of img.values()){

var x = px.getX();

var y = px.getY();


if (x < img.getWidth()/2){
px.setRed(255);

}
if (y>img.getHeight()/2){
px.setBlue(255);

}

else {
px.setGreen(255);
}

}

print (img);

浏览程序并考虑在以下情况下如何执行它x = 50, y = 50

x < img.getWidth()/2计算结果为 true,因此红色设置为 255,请继续执行下一条语句

y > img.getHeight()/2计算结果为 false,因此执行"else"代码并将绿色设置为 255

这为您提供了一个具有 255 个红色和 255 个绿色的像素,而不是您期望的像素。

如果您使用elseif您将获得所需的行为。

最新更新