changeBlue(weight)
を書きます。ピクチャの前半のピクセルの色を変更しないでください。後半では、各ピクセルの青の値をnew blue=original blue * weight
に変更します。例えばJavaメソッドchangeBlue(重量)を書きます
画素が値(200100100)を有し、重量が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