decode-tiff
⚡️ A lightweight pure JavaScript TIFF decoder. 🎨
How to use it
With Node.js
npm i tiff-decode
The following example reads .tiff and converts to .png file using pngjs.
const decode = ; const PNG = ;const fs = ; const width height data = ; const png = width height ;pngdata = data;fs;
With Browser
Download script file from dist/decode-tiff.min.js. Alternatively you can use Module Bundler, such as webpack, Browserify, and Rollup.
This example shows metadata of the dropped file. Working demonstration is here.
Drop TIFF file here!
API
decode(buffer: ArrayBuffer | Buffer, options?: { singlePage?: boolean }): TiffImage | TiffImage[]
- params
buffer
- Required - Buffer of the target TIFF image. Node.js Buffer and ECMA Script's ArrayBuffer are acceptable.options.singlePage
- Optional (default:true
) - If true, this function returns a single TiffImage object. If the input has 2 or more pages, return value will be the first page.
- returns
TiffImage
- An object.TiffImage.width
- number - Width of the input image.TiffImage.height
- number - Height of the input image.TiffImage.data
- Uint8Array - Image pixel data. Every pixel consists 4 bytes: R, G, B, A (opacity)TiffImage.ifdEntries
- {[key: string]: Array} - Each IFD entries of the input image.
Compatibility
- Byte Order
- Little endian
- Big endian
- Color resolusion
- 32bit Full Colors
- 24bit Full Colors
- 8bit Gray scale
- 4bit Gray scale
- Palette-Color
- Bilevel(white)
- Bilevel(black)
- Compression
- No Compression
- CCITT Group 3
- LZW Compression
- ZIP
- Packbits
- Masking
- Transparency Mask
License
MIT. See LICENSE.txt.