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の画像とか表示できないかなー」と思ってやってみたとかそんな動機.適当だなぁ.
変換の際にいくつか詰まった話はまた別のエントリで.