在浏览器

时间:2016-06-12 08:29:25

标签: javascript jquery imagemagick tiff

我想知道是否有任何方法可以使用客户端编码(非服务器端)在浏览器中以用户可以在页面之间导航的方式显示多页tif图像像常见的jquery照片库。我从https://github.com/seikichi/tiff.js找到了Tiff.js,但是这个库只提供了多页tiff的下载链接,不会在html中显示。

我可以在服务器端使用像ImageMagic,LibTiff.Net等库来做,但不想这样,因为照片的数量很大,如果我这样做,就消耗了大量的服务器' s cpu

你知道任何替代解决方案吗?

2 个答案:

答案 0 :(得分:2)

我也有这个问题,转换图片对我们来说不是一个选择。

您可以使用链接到的tiff.js,查看演示,然后在http://seikichi.github.io/tiff.js/multipage.html查看来源。

$(function () {
  Tiff.initialize({TOTAL_MEMORY: 16777216 * 10});
  var xhr = new XMLHttpRequest();
  xhr.open('GET', 'images/multipage.tiff');
  xhr.responseType = 'arraybuffer';
  xhr.onload = function (e) {
    var buffer = xhr.response;
    var tiff = new Tiff({buffer: buffer});
    for (var i = 0, len = tiff.countDirectory(); i < len; ++i) {
      tiff.setDirectory(i);
      var canvas = tiff.toCanvas();
      $('body').append(canvas);
    }
  };
  xhr.send();
});

替换&#39; images / multipage.tiff&#39;通过文件的路径,它会将每个页面添加到body元素中(如果您想在其他地方使用元素,只需将$(&#39; body&#39;)替换为您的元素)。也适用于单一的tiff。

答案 1 :(得分:1)

浏览器不支持tif图像。 检查这个Wiki Link。 你必须生成一个png图像并存储它并在浏览器中显示tif。