Skip to content
forked from seikichi/tiff.js

tiff.js is a port of LibTIFF by compiling the LibTIFF C code with Emscripten.

License

Notifications You must be signed in to change notification settings

Wpangpang/tiff.js

 
 

Repository files navigation

tiff.js

tiff.js is a port of the LibTIFF by compiling the LibTIFF C code with Emscripten.

Usage

Browser

Download tiff.min.js and load the script by yourself:

var xhr = new XMLHttpRequest();
xhr.responseType = 'arraybuffer';
xhr.open('GET', "url/of/a/tiff/image/file.tiff");
xhr.onload = function (e) {
  var tiff = new Tiff({buffer: xhr.response});
  var canvas = tiff.toCanvas();
  document.body.append(canvas);
};
xhr.send();

Node.js

$ npm install tiff.js

Example

// Usage: node this-file.js input.tiff
var Tiff = require('tiff.js');
var fs = require('fs');

var filename = process.argv[2];
var input = fs.readFileSync(filename);
var image = new Tiff({ buffer: input });
console.log(filename + ': width = ' + image.width() + ', height = ' + image.height());

API

see tiff.d.ts

Note

  • This library does not support JPEG-based compressed TIFF files
  • When you load large tiff file, you will see the error message "Cannot enlarge memory arrays in asm.js"
    • in such case, please call 'Tiff.initialize({TOTAL_MEMORY: ... })' before you create a Tiff instance
  • This JavaScript library uses only some parts of the LibTIFF features
    • To be more precise, I use following functions only
    • TIFFOpen, TIFFClose, TIFFGetField, TIFFReadRGBAImage, TIFFSetDirectory, TIFFCurrentDirectory, TIFFReadDirectory

Alternatives

License

The LibTIFF is LibTIFF Software License, zlib and additional code are zlib License.

About

tiff.js is a port of LibTIFF by compiling the LibTIFF C code with Emscripten.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 63.1%
  • Shell 27.4%
  • JavaScript 7.8%
  • C 1.7%