06c1a5835d | ||
---|---|---|
.. | ||
dist | ||
es | ||
src | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
index.d.ts | ||
package.json |
README.md
@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 (/* check for error */) {
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
)) {
}