image-js
Version:
Image processing and manipulation in JavaScript
24 lines • 908 B
JavaScript
import checkProcessable from '../utils/validators/checkProcessable.js';
/**
* Apply a flipX filter to an image.
* @param image - Image to process.
* @returns The processed image.
*/
export default function flipX(image) {
checkProcessable(image, {
bitDepth: [8, 16],
});
for (let row = 0; row < image.height; row++) {
for (let column = 0; column < Math.floor(image.width / 2); column++) {
const currentCol = column;
const oppositeCol = image.width - column - 1;
for (let channel = 0; channel < image.channels; channel++) {
const tmp = image.getValue(currentCol, row, channel);
image.setValue(currentCol, row, channel, image.getValue(oppositeCol, row, channel));
image.setValue(oppositeCol, row, channel, tmp);
}
}
}
return image;
}
//# sourceMappingURL=flipX.js.map