UNPKG

image-js

Version:

Image processing and manipulation in JavaScript

32 lines 1.16 kB
import { Image } from '../Image.js'; import { getClamp } from '../utils/clamp.js'; import checkProcessable from '../utils/validators/checkProcessable.js'; import { validateForComparison } from '../utils/validators/validators.js'; /** * * Calculate a new image that is the sum between the current image and the otherImage. * @param image - Image to which to add. * @param otherImage - Image to add. * @returns The summed image. */ export function add(image, otherImage) { if (image instanceof Image) { checkProcessable(image, { bitDepth: [8, 16], components: [1, 3], alpha: false, }); } validateForComparison(image, otherImage); const newImage = image.clone(); const clamp = getClamp(image); for (let index = 0; index < image.size; index++) { for (let channel = 0; channel < image.channels; channel++) { const value = image.getValueByIndex(index, channel) + otherImage.getValueByIndex(index, channel); newImage.setValueByIndex(index, channel, clamp(value)); } } return newImage; } //# sourceMappingURL=add.js.map