在所有Web浏览器中显示TIFF图像[关闭]


91

如何处理HTML页面中的TIFF文件?

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

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

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


更新:Safari支持TIFF图像加载。如何在其他浏览器(IE,Mozilla,Firefox等)中加载TIFF图像?

我无法安装第三方插件或控制器(例如ActiveXController)。

Answers:


69

这归结于浏览器图像支持。看起来唯一支持tiff的主流浏览器是Safari:

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

您从哪里获得tiff图像?是否有可能以其他格式生成它们?

如果您有一组静态图片,则建议使用PaintShop Pro之类的图片进行批量转换,更改格式。

如果这不是一个选择,那么寻找可以在浏览器中显示图像的预编写的Java applet(或另一个浏览器插件)可能会花费一些精力。


浏览器中的+1 TIFF是不确定的-对于CMYK而言更是如此。我建议您使用JPG或PNG。
Pekka '02

我只将TIFF图像保留在本地系统中。按照规范,我不应该转换成另一种格式。
ASHOK

根据浏览器中图像格式的支持,我可以使用野生动物园来显示TIFF图像。这样对吗?
ASHOK,2010年

@ashok:Wikipedia页面声称Safari可以渲染TIFF图像。我建议下载(假设您使用的是Windows)并尝试一下。 apple.com/safari/download
Richard Ev'2


16

我发现此资源详细介绍了各种方法:如何在HTML文档中嵌入TIFF文件

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

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


2
抱歉,它会很大。因此,我仅发布图像加载部分1)<OBJECT CLASSID =“ clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B” WIDTH =“ 100%” HEIGHT =“ 100%” CODEBASE =“ apple.com/qtactivex/qtplugin。 cab “> <PARAM name =” SRC“ VALUE =” tiffdocument.tif“> <PARAM name =” SCALE“ VALUE =” aspect“> </ OBJECT> 2)<img width = 200 height = 200 src =” tiffdocument。 tif“ alt =”“>一样
ASHOK

1
它说在最近的Chrome中不起作用:该网站使用了不受支持的插件(图片/ tiff)
kenorb '16

4

Tiff图像只能直接显示在IE和Safari上。.在chrome和firefox上不支持tiff图像。您可以对图像进行编码,然后将编码的图像解码为其他格式,然后在浏览器上显示。希望这对你有用


2
万一此信息过时,您可以包括任何来源吗?
kenorb '16

3

您可以尝试将图像从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;

    }

从哪里可以下载com.sun.media.jai.codec?我试图在网上寻找它,但没有JAR
roeygol

2
@roeygol它来自已停产的Java Advanced Imaging SDK,
网址
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.