????
Current Path : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/@jimp/utils/ |
Current File : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/@jimp/utils/README.md |
<div align="center"> <img width="200" height="200" src="https://s3.amazonaws.com/pix.iemoji.com/images/emoji/apple/ios-11/256/crayon.png"> <h1>@jimp/utils</h1> <p>Utils for jimp extensions.</p> </div> ## Available Methods ### isNodePattern Determines if function was passed an node callback. ```js if (isNodePattern(cb)) { cb.call(this, null, this); } ``` ### throwError Either throws the error or calls the callback with the error. ```js if (/* check for error */) { return throwError.call(this, 'someError', cb); } ``` ### scan Scans through a region of the bitmap, calling a function for each pixel. ```js 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: ```js for (const { x, y, idx, image } of scanIterator( image, 0, 0, image.bitmap.width, image.bitmap.height )) { } ```