@jimp/utils
Utils for jimp extensions.
Available Methods
isNodePattern
Determines if function was passed an node callback.
if (isNodePattern(cb)) {
cb.call(this, null, this);
}
throwError
Either throws the error or calls the callback with the error.
if () {
return throwError.call(this, 'someError', cb);
}
scan
Scans through a region of the bitmap, calling a function for each pixel.
function removeRed(image) {
return scan(
image,
0,
0,
image.bitmap.width,
image.bitmap.height,
function (x, y, index) {
const red = this.bitmap.data[index + 0];
const green = this.bitmap.data[index + 1];
const blue = this.bitmap.data[index + 2];
const alpha = this.bitmap.data[index + 3];
this.bitmap.data[index + 0] = 0;
this.bitmap.data[index + 1] = green;
this.bitmap.data[index + 2] = blue;
this.bitmap.data[index + 3] = alpha;
}
);
}
scanIterator
It's possible to make an iterator scan with a for ... of
, if you want to break
the scan before it reaches the end, but note, that this iterator has a huge performance implication:
for (const { x, y, idx, image } of scanIterator(
image,
0,
0,
image.bitmap.width,
image.bitmap.height
)) {
}
v0.22.2 (Mon Feb 06 2023)
:tada: This release contains work from new contributors! :tada:
Thanks for all your work!
:heart: Ollie Chick (@olliechick)
:heart: Andrey Kutejko (@andy128k)
🚀 Enhancement
@jimp/core
- Change type of mime from string to string|number to fix #990 #1182 (@olliechick)
📝 Documentation
Authors: 2