public Channel cropWrap(int x_lo, int y_lo, int x_hi, int y_hi) {
int new_width = x_hi - x_lo + 1;
int new_height = y_hi - y_lo + 1;
Channel channel = new Channel(new_width, new_height);
for (int y = 0; y < new_height; y++) {
int y_old = y + y_lo;
for (int x = 0; x < new_width; x++) {
int x_old = x + x_lo;
if (x_old < 0 || x_old >= width || y_old < 0 || y_old >= height) {
channel.putPixel(x, y, getPixelWrap(x_old, y_old));
} else {
channel.putPixel(x, y, getPixel(x_old, y_old));
}
}
}
return channel;
}