changeBlue(weight)
을 작성하십시오. 그림의 전반부에있는 픽셀의 색을 변경하지 마십시오. 후반에는 각 픽셀의 청색 값을 new blue=original blue * weight
으로 변경하십시오. 픽셀이 (200,100,100)의 값을 가지며, 중량 경우Java 메소드를 작성하십시오 changeBlue (weight)
예를 들어, 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