2010-02-01 160 views
56

如何在HTML页面中处理TIFF文件?在所有网页浏览器中显示TIFF图像

我想在我的HTML页面中显示TIFF文件。

我试过使用嵌入式标签,对象ID,IMG等,但我无法在HTML页面中显示图像(TIFF)。

我没有在我的项目中使用Java,.NET或其他任何东西。我只使用HTML。

大家好,

对上述问题,昨天我得到的解决方案。即safari能够支持TIFF图像加载。

我应该做的剩余不受支持的浏览器(IE,Mozilla的火狐等)

我无法安装第三方的安装或控制器(如ActiveXController)加载的TIFF图像是什么。

请给你宝贵的建议。

在此先感谢。

回答

47

这归结为浏览器图像支持;它看起来像一个支持TIFF唯一的主流浏览器Safari的是:

http://en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support

你从哪里得到的TIFF图像?它们可能以不同的格式生成吗?

如果你有一组静态图像,那么我建议使用类似PaintShop Pro的东西批量转换它们,改变格式。

如果这不是一个选项,那么在寻找能够在浏览器中显示图像的预先编写的Java小程序(或另一个浏览器插件)时可能会有一些里程。

+0

+1 TIFF是一种不确定的事情 - 甚至更多所以与CMYK的。我建议转达JPG或PNG。 – 2010-02-01 13:44:26

+0

我只在本地系统中保存TIFF图像。按照规范,我不应该转换成另一种格式。 – ASHOK 2010-02-01 13:49:54

+0

根据浏览器中的图像格式支持,我可以使用Safari浏览器来显示TIFF图像。这样对吗? – ASHOK 2010-02-01 13:55:20

14

,我发现这个资源,详细介绍了各种方法:How to embed TIFF files in HTML documents

如前所述,这将在很大程度上取决于对格式的浏览器的支持。在Windows上的Chrome中查看该页面并未显示任何图像。

如果您发布了您已经尝试过的代码,这也会很有帮助。

+2

+1尼斯资源 – 2010-02-01 13:45:51

+2

对不起那将是非常大的,所以我张贴图片加载部分仅 1) 2) 像 – ASHOK 2010-02-01 13:58:52

+0

太谢谢你了。 Safari浏览器支持TIFF图像。 – ASHOK 2010-02-01 14:15:35

3

Tiff图像可以直接显示在IE浏览器和Safari浏览器上..不支持铬和Firefox上的TIFF图像。您可以对图像进行编码,然后通过将编码后的图像解码为其他格式将其显示在浏览器中。 希望这适用于你

+0

您是否可以包含任何来源,以防这些信息过期? – kenorb 2016-05-16 10:59:26

1

我可以在所有浏览器中显示tiff图像。
IE浏览器默认显示tiff图像,但Firefox和Chrome浏览器等浏览器应将tiff图像从img html标签转换为canvas标签。底部链接做这个转换。 请查看底部链接演示:
https://github.com/rasouliali/TiffViewer

0

你可以尝试从TIFF到PNG转换你的形象,这里是如何做到这一点:在浏览器中

import com.sun.media.jai.codec.ImageCodec; 
import com.sun.media.jai.codec.ImageDecoder; 
import com.sun.media.jai.codec.ImageEncoder; 
import com.sun.media.jai.codec.PNGEncodeParam; 
import com.sun.media.jai.codec.TIFFDecodeParam; 
import java.awt.image.RenderedImage; 
import java.io.ByteArrayInputStream; 
import java.io.ByteArrayOutputStream; 
import java.io.InputStream; 
import javaxt.io.Image; 

public class ImgConvTiffToPng { 

    public static byte[] convert(byte[] tiff) throws Exception { 

     byte[] out = new byte[0]; 
     InputStream inputStream = new ByteArrayInputStream(tiff); 

     TIFFDecodeParam param = null; 

     ImageDecoder dec = ImageCodec.createImageDecoder("tiff", inputStream, param); 
     RenderedImage op = dec.decodeAsRenderedImage(0); 

     ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); 

     PNGEncodeParam jpgparam = null; 
     ImageEncoder en = ImageCodec.createImageEncoder("png", outputStream, jpgparam); 
     en.encode(op); 
     outputStream = (ByteArrayOutputStream) en.getOutputStream(); 
     out = outputStream.toByteArray(); 
     outputStream.flush(); 
     outputStream.close(); 

     return out; 

    } 
相关问题