Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/invoice_pdf/node_modules/@jimp/plugin-normalize/es/ drwxr-xr-x | |
| Viewing file: Select action/file-type: import { isNodePattern } from "@jimp/utils";
/**
* Get an image's histogram
* @return {object} An object with an array of color occurrence counts for each channel (r,g,b)
*/
function histogram() {
const histogram = {
r: new Array(256).fill(0),
g: new Array(256).fill(0),
b: new Array(256).fill(0)
};
this.scanQuiet(0, 0, this.bitmap.width, this.bitmap.height, function (x, y, index) {
histogram.r[this.bitmap.data[index + 0]]++;
histogram.g[this.bitmap.data[index + 1]]++;
histogram.b[this.bitmap.data[index + 2]]++;
});
return histogram;
}
/**
* Normalize values
* @param {integer} value Pixel channel value.
* @param {integer} min Minimum value for channel
* @param {integer} max Maximum value for channel
* @return {integer} normalized values
*/
const normalize = function (value, min, max) {
return (value - min) * 255 / (max - min);
};
const getBounds = function (histogramChannel) {
return [histogramChannel.findIndex(value => value > 0), 255 - histogramChannel.slice().reverse().findIndex(value => value > 0)];
};
/**
* Normalizes the image
* @param {function(Error, Jimp)} cb (optional) a callback for when complete
* @returns {Jimp} this for chaining of methods
*/
export default (() => ({
normalize(cb) {
const h = histogram.call(this);
// store bounds (minimum and maximum values)
const bounds = {
r: getBounds(h.r),
g: getBounds(h.g),
b: getBounds(h.b)
};
// apply value transformations
this.scanQuiet(0, 0, this.bitmap.width, this.bitmap.height, function (x, y, idx) {
const r = this.bitmap.data[idx + 0];
const g = this.bitmap.data[idx + 1];
const b = this.bitmap.data[idx + 2];
this.bitmap.data[idx + 0] = normalize(r, bounds.r[0], bounds.r[1]);
this.bitmap.data[idx + 1] = normalize(g, bounds.g[0], bounds.g[1]);
this.bitmap.data[idx + 2] = normalize(b, bounds.b[0], bounds.b[1]);
});
if (isNodePattern(cb)) {
cb.call(this, null, this);
}
return this;
}
}));
//# sourceMappingURL=index.js.map |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.005 ]-- |