2015-12-05 78 views
-1

我一直在研究這個問題一段時間,我無法弄清楚我需要修復我的代碼。我應該可以將紅色與綠色交換,但在我的示例中,我一直收到一個錯誤(我可以將紅色設置爲綠色,但不是反之亦然。有人可以看看我出錯的地方嗎?用綠色交換紅色,反之亦然

function swapRedGreen(pixel){ 

pixel.setRed(pixel.getGreen()); 
pixel.setGreen(pixel.getRed()); 
} 
var image = new SimpleImage("eastereggs.jpg"); 
print(image); 
for(var pix of image.values()){ 
    swapRedGreen(pix); 
} 
print(image); 
+0

家庭作業?不管如何,有沒有足夠的在這裏繼續下去您的打印功能在哪裏申報? –

回答

2

你需要使用一個臨時變量,因爲紅色已經嘗試設置綠色的時間變化。

var oldRed = pixel.getRed(); 

pixel.setRed(pixel.getGreen()); 
pixel.setGreen(oldRed); 
-1
 var image = new SimpleImage("usain.jpg"); 
function swapRedGreen(image){ 
    for (var pixel of image.values()){ 
    pixel. setRed(pixel.getGreen()); 
    pixel. setGreen(pixel. getRed()); 

    } 
} 
    swapRedGreen(image); 
    print(image); 
+3

Thi這個問題已經有了答案。而且你的代碼會提供錯誤的結果,因爲你在'pixel.setRed'之後調用'pixel.getRed()'並且錯過了舊的紅色值 –

-1
var img = new SimpleImage("eastereggs.jpg"); 

function swapRedGreen (pixl) { 
    var oldRed = pixl.getRed(); 
    pixl.setRed (pixl.getGreen()); 
    pixl.setGreen (oldRed); 

} 
for (var pix of img.values()) { 
    swapRedGreen(pix); 
} 

print (img); 
+0

A.K.和axelduch爲我工作。 –

+2

嗨托馬斯,謝謝你的回答。儘管它可能有幫助,但如果你解釋你的代碼,它可能會更好。 – FormigaNinja

相關問題