diff --git a/docs/api-output.md b/docs/api-output.md index 564dc1ec..eb2cd8b8 100644 --- a/docs/api-output.md +++ b/docs/api-output.md @@ -87,10 +87,10 @@ sharp(input) ``` ```javascript -const data = await sharp('my-image.jpg') +const { data, info } = await sharp('my-image.jpg') // output the raw pixels .raw() - .toBuffer(); + .toBuffer({ resolveWithObject: true }); // create a more type safe way to work with the raw pixel data // this will not copy the data, instead it will change `data`s underlying ArrayBuffer @@ -98,7 +98,9 @@ const data = await sharp('my-image.jpg') const pixelArray = new Uint8ClampedArray(data.buffer); // When you are done changing the pixelArray, sharp takes the `pixelArray` as an input -await sharp(pixelArray).toFile('my-changed-image.jpg'); +const { width, height, channels } = info; +await sharp(pixelArray, { raw: { width, height, channels } }) + .toFile('my-changed-image.jpg'); ``` Returns **[Promise][5]<[Buffer][8]>** when no callback is provided diff --git a/lib/output.js b/lib/output.js index b1b0170f..762c43e9 100644 --- a/lib/output.js +++ b/lib/output.js @@ -105,10 +105,10 @@ function toFile (fileOut, callback) { * .catch(err => { ... }); * * @example - * const data = await sharp('my-image.jpg') + * const { data, info } = await sharp('my-image.jpg') * // output the raw pixels * .raw() - * .toBuffer(); + * .toBuffer({ resolveWithObject: true }); * * // create a more type safe way to work with the raw pixel data * // this will not copy the data, instead it will change `data`s underlying ArrayBuffer @@ -116,7 +116,9 @@ function toFile (fileOut, callback) { * const pixelArray = new Uint8ClampedArray(data.buffer); * * // When you are done changing the pixelArray, sharp takes the `pixelArray` as an input - * await sharp(pixelArray).toFile('my-changed-image.jpg'); + * const { width, height, channels } = info; + * await sharp(pixelArray, { raw: { width, height, channels } }) + * .toFile('my-changed-image.jpg'); * * @param {Object} [options] * @param {boolean} [options.resolveWithObject] Resolve the Promise with an Object containing `data` and `info` properties instead of resolving only with `data`.