Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在浏览器中显示多页tiff_Javascript_Jquery_Imagemagick_Tiff - Fatal编程技术网

Javascript 在浏览器中显示多页tiff

Javascript 在浏览器中显示多页tiff,javascript,jquery,imagemagick,tiff,Javascript,Jquery,Imagemagick,Tiff,我想知道是否有任何方法可以使用客户端编码(而不是服务器端)在浏览器中显示多页tif图像,用户可以像常见的jquery照片库一样在页面之间导航。我从中找到了Tiff.js,但是这个库只提供了多页Tiff的下载链接,没有在html中显示 我可以在服务器端使用ImageMagic、LibTiff.Net等库来完成这项工作,但我不想这样做,因为照片数量太多,如果我这样做的话,会消耗大量服务器的cpu 您知道其他解决方案吗???浏览器不支持tif图像。 看看这个。 您必须生成png图像并将其存储,然后在浏

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

我可以在服务器端使用ImageMagic、LibTiff.Net等库来完成这项工作,但我不想这样做,因为照片数量太多,如果我这样做的话,会消耗大量服务器的cpu


您知道其他解决方案吗???

浏览器不支持tif图像。 看看这个。
您必须生成png图像并将其存储,然后在浏览器中显示tif。

浏览器不支持tif图像。 看看这个。
您必须生成png图像并将其存储,然后在tif的浏览器中显示。

我也有这个问题,转换图像不是我们的选择

您可以使用链接到的tiff.js,查看演示,然后查看源代码

$(函数(){
初始化({总内存:16777216*10});
var xhr=new XMLHttpRequest();
xhr.open('GET','images/multipage.tiff');
xhr.responseType='arraybuffer';
xhr.onload=函数(e){
var buffer=xhr.response;
var tiff=新的tiff({buffer:buffer});
对于(var i=0,len=tiff.countDirectory();i

将“images/multipage.tiff”替换为文件的路径,它会将每个页面添加到body元素中(如果您希望将$(“body”)替换为其他元素)。也适用于单个tiff。

我也有这个问题,转换图像不是我们的选择

您可以使用链接到的tiff.js,查看演示,然后查看源代码

$(函数(){
初始化({总内存:16777216*10});
var xhr=new XMLHttpRequest();
xhr.open('GET','images/multipage.tiff');
xhr.responseType='arraybuffer';
xhr.onload=函数(e){
var buffer=xhr.response;
var tiff=新的tiff({buffer:buffer});
对于(var i=0,len=tiff.countDirectory();i

将“images/multipage.tiff”替换为文件的路径,它会将每个页面添加到body元素中(如果您希望将$(“body”)替换为其他元素)。也适用于单个tiff。

将所有多页的
tiff
s预处理为
png
s并存储它们。给出一个页面,其中有几个隐藏的
位置:固定的
s,并在JS中取消隐藏它们。这不是一个非常优雅的选项,但非常健壮,具有良好的浏览器支持。或者使用ImageMagick或任何其他工具将tiff直接预处理为PDF,并在客户端使用PDF.js处理显示。无论是服务器端还是客户端都必须进行处理。另外,我们讨论的是网页预览,我想高分辨率不是很需要。将所有多页的
tiff
s预处理为
png
s并存储它们。给出一个页面,其中有几个隐藏的
位置:固定的
s,并在JS中取消隐藏它们。这不是一个非常优雅的选项,但非常健壮,具有良好的浏览器支持。或者使用ImageMagick或任何其他工具将tiff直接预处理为PDF,并在客户端使用PDF.js处理显示。无论是服务器端还是客户端都必须进行处理。此外,我们正在谈论的网页预览,我想高分辨率是不太需要的。
$(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();
});