modif deletearea

This commit is contained in:
Kea Horvath committed 2023-04-13 22:48:28 +02:00
1 parent dfc453ac5b
commit 423f8bdc54
1 file changed
+49 -11
@@ -731,27 +731,65 @@ public final class ImageProcessing {
} else if (filling == FillingType.LEFT) { } else if (filling == FillingType.LEFT) {
int ind = xMin - (i - xMin); int ind = xMin - (i - xMin);
if (ind < 0) { if (ind < 0) {
ind = 0; ind = -ind;
}
while (ind > 2 * xMin) {
ind -= 2 * xMin;
}
if (ind > xMin) {
ind = xMin - (ind - xMin);
} }
setRGBValue(input, i, j, getRGBValue(input, ind, j)); setRGBValue(input, i, j, getRGBValue(input, ind, j));
} else if (filling == FillingType.RIGHT) { } else if (filling == FillingType.RIGHT) {
int ind = xMax + (xMax - i); int ind = xMax;
if (ind >= input.width) { boolean decrease = false;
ind = input.width - 1; for (int k = xMax; k >= i; k--) {
if (decrease) {
ind--;
if (ind == xMax) {
decrease = false;
ind++;
}
} else {
ind++;
if (ind == input.width) {
decrease = true;
ind--;
}
}
} }
setRGBValue(input, i, j, getRGBValue(input, ind, j)); setRGBValue(input, i, j, getRGBValue(input, ind, j));
} else if (filling == FillingType.TOP) { } else if (filling == FillingType.TOP) {
int ind = yMin - (i - yMin); int ind = yMin - (j - yMin);
if (ind < 0) { if (ind < 0) {
ind = 0; ind = -ind;
} }
setRGBValue(input, i, j, getRGBValue(input, i, yMin - (j - yMin))); while (ind > 2 * yMin) {
ind -= 2 * yMin;
}
if (ind > yMin) {
ind = yMin - (ind - yMin);
}
setRGBValue(input, i, j, getRGBValue(input, i, ind));
} else if (filling == FillingType.BOTTOM) { } else if (filling == FillingType.BOTTOM) {
int ind = yMax + (yMax - i); int ind = yMax;
if (ind >= input.height) { boolean decrease = false;
ind = input.height - 1; for (int k = yMax; k >= j; k--) {
if (decrease) {
ind--;
if (ind == yMax) {
decrease = false;
ind++;
} }
setRGBValue(input, i, j, getRGBValue(input, i, yMax + (yMax - j))); } else {
ind++;
if (ind == input.height) {
decrease = true;
ind--;
}
}
}
setRGBValue(input, i, j, getRGBValue(input, i, ind));
} else { } else {
setRGBValue(input, i, j, getRGBValue(input, i, j)); setRGBValue(input, i, j, getRGBValue(input, i, j));
} }