きちぽよ〜

ねむい

LibTIFF を Emscripten で JavaScript に変換して,TIFF形式の画像をWebブラウザで表示する

概要

Emscripten おもしろいなー,ということで LibTIFF を JS に変換して TIFF 形式の画像をブラウザで表示させてみた (Github, デモ1, デモ2 (WebWorker から読み込み), デモ3 (マルチページなTIFFを表示)).

Usage

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();

てな感じで書けば多分使える. Web Worker で利用する場合は,ワーカのスクリプト内から canvas が作れないので,Tiff.readRGBAImage で ArrayBuffer を作成して postMessage すれば動く()

動作環境

手元の Firefox 25,Chrome 29,Safari 6 でデモが動くのを確認した.

その他

JavaScriptこんなアプリ を作っていた際に「ブラウザでTIFFの画像とか表示できないかなー」と思ってやってみたとかそんな動機.適当だなぁ.

変換の際にいくつか詰まった話はまた別のエントリで.