編寫一個方法changeBlue(weight)
。不要更改圖片前半部分的任何顏色的像素。下半年,將每個像素的藍色值改爲new blue=original blue * weight
。編寫一個Java方法changeBlue(weight)
例如,如果一個像素的值(200,100,100)和權重爲0.5, 那麼新值將是(200,100,50)。如果重量是1.5,那麼 新的值將是(200,100,150)。
您可以使用任何圖像來測試此方法。
這是我的。我覺得我很接近,但是我收到了一些錯誤。任何建議表示讚賞。
public void changeBlue(int weight)
{
Pixel[] pixelArray = this.getPixels();
Pixel pixelObj = null;
int value = 0;
int index = 0;
while (index >= pixelArray.length/2)
{
pixelObj = pixelArray[index];
value = pixelObj.getBlue();
value = (value * weight);
pixelObj.setBlue(value);
index++;
}
}
你會得到什麼錯誤? – Actorclavilis
'index> = pixelArray.length/2',我最好的猜測是這個'loop'不會經常執行。 – SomeJavaGuy
在@KevinEsche的評論之後,你應該使用'for'循環遍歷所有的數組,並且在裏面檢查是否有'if'語句的右半部分,或者可能只是在數組的後半部分啓動索引。 – aleb2000