这归结于浏览器图像支持; 它看起来像唯一支持TIFF的主stream浏览器是Safari:
你从哪里得到tiff图像? 是否有可能以不同的格式生成它们?
如果你有一个静态的图像集,那么我build议使用像PaintShop Pro的批量转换它们,改变格式。
如果这不是一个选项,那么在寻找能够在浏览器中显示图像的预先编写的Java小程序(或另一个浏览器插件)时可能会有一些里程。
我发现这个资源详细介绍了各种方法: 如何在HTML文档中embeddedTIFF文件
如前所述,这将非常依赖浏览器对格式的支持。 在Windows上的Chrome中查看该页面不显示任何图像。
如果你发布了你已经试过的代码,这也会很有帮助。
TIFF图像可以直接显示在IE浏览器和safari上。不支持chiff和firefox上的tiff图像。 您可以对图像进行编码,然后通过将编码的图像解码为其他格式,将其显示在浏览器上。 希望这对你有用
我可以在所有浏览器中显示tiff图像。
IE浏览器默认显示TIFF图像,但Firefox和铬和其他浏览器,您应该将TIFF图像从IMG HTML标记转换为canvas标记。 底部链接做这个转换。 请查看底部链接演示:
https://github.com/rasouliali/TiffViewer
你可以尝试从蒂芙转换你的图像到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; }