From 69790421b7a8ff592beb034cd5e15afe984c5c28 Mon Sep 17 00:00:00 2001 From: reiv Date: Mon, 19 Jul 2021 16:25:36 +0200 Subject: [PATCH] Docs: add stats usage note and example (#2803) (#2804) Clarify that stats are derived from the original input image and that operations need to be buffered in order to obtain stats from the resulting image. --- lib/input.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/input.js b/lib/input.js index 4de4673d..7f4e8620 100644 --- a/lib/input.js +++ b/lib/input.js @@ -358,6 +358,9 @@ function metadata (callback) { * - `sharpness`: Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any (experimental) * - `dominant`: Object containing most dominant sRGB colour based on a 4096-bin 3D histogram (experimental) * + * **Note**: Statistics are derived from the original input image. Any operations performed on the image must first be + * written to a buffer in order to run `stats` on the result (see third example). + * * @example * const image = sharp(inputJpg); * image @@ -370,6 +373,13 @@ function metadata (callback) { * const { entropy, sharpness, dominant } = await sharp(input).stats(); * const { r, g, b } = dominant; * + * @example + * const image = sharp(input); + * // store intermediate result + * const part = await image.extract(region).toBuffer(); + * // create new instance to obtain statistics of extracted region + * const stats = await sharp(part).stats(); + * * @param {Function} [callback] - called with the arguments `(err, stats)` * @returns {Promise} */