app php01 790c53caa0 最后一版uniaiim 10 ماه پیش
..
dist 790c53caa0 最后一版uniaiim 10 ماه پیش
es 790c53caa0 最后一版uniaiim 10 ماه پیش
src 790c53caa0 最后一版uniaiim 10 ماه پیش
CHANGELOG.md 790c53caa0 最后一版uniaiim 10 ماه پیش
LICENSE 790c53caa0 最后一版uniaiim 10 ماه پیش
README.md 790c53caa0 最后一版uniaiim 10 ماه پیش
index.d.ts 790c53caa0 最后一版uniaiim 10 ماه پیش
package.json 790c53caa0 最后一版uniaiim 10 ماه پیش

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
)) {
}