処理中の画像補間方法に問題があります。これは私が思いついたコードであり、外側のループが元の画像よりも進んでいるため、範囲外の例外がスローされることを認識していますが、どうすれば修正できますか?
PImage nearestneighbor (PImage o, float sf)
{
PImage out = createImage((int)(sf*o.width),(int)(sf*o.height),RGB);
o.loadPixels();
out.loadPixels();
for (int i = 0; i < sf*o.height; i++)
{
for (int j = 0; j < sf*o.width; j++)
{
int y = round((o.width*i)/sf);
int x = round(j / sf);
out.pixels[(int)((sf*o.width*i)+j)] = o.pixels[(y+x)];
}
}
out.updatePixels();
return out;
}
私のアイデアは、スケーリングされた画像のポイントを表す両方のコンポーネントをスケールファクターで除算し、それを丸めて最近傍を取得することでした。