61 lines
982 B
Markdown
61 lines
982 B
Markdown
# parse-png [![Build Status](https://travis-ci.org/kevva/parse-png.svg?branch=master)](https://travis-ci.org/kevva/parse-png)
|
|
|
|
> Parse a PNG
|
|
|
|
|
|
## Install
|
|
|
|
```
|
|
$ npm install parse-png
|
|
```
|
|
|
|
|
|
## Usage
|
|
|
|
```js
|
|
const fs = require('fs');
|
|
const parsePng = require('parse-png');
|
|
|
|
(async () => {
|
|
const png = await parsePng(fs.readFileSync('unicorn.png'));
|
|
|
|
console.log(png);
|
|
/*
|
|
{
|
|
width: 200,
|
|
height: 133,
|
|
depth: 8,
|
|
interlace: false,
|
|
palette: false,
|
|
color: true,
|
|
alpha: false,
|
|
bpp: 3,
|
|
colorType: 2,
|
|
data: <Buffer 29 48 4d ...>,
|
|
}
|
|
*/
|
|
|
|
png.adjustGamma();
|
|
png.pack().pipe(fs.createWriteStream('unicorn-adjusted.png'));
|
|
})();
|
|
```
|
|
|
|
|
|
## API
|
|
|
|
### parsePng(buffer, options?)
|
|
|
|
Returns a `Promise<Object>` with a PNG instance. See the [pngjs documentation](https://github.com/lukeapage/pngjs#async-api) for more information.
|
|
|
|
#### buffer
|
|
|
|
Type: `Buffer`
|
|
|
|
A PNG image buffer.
|
|
|
|
#### options
|
|
|
|
Type: `Object`
|
|
|
|
See the [pngjs options](https://github.com/lukeapage/pngjs#options).
|