html - 在所有Web浏览器中显示TIFF图像
如何在HTML页面中处理TIFF文件?
我想在HTML页面中显示TIFF文件。
我尝试使用嵌入式标签,对象ID,img等。但我无法在HTML页面中显示图像(TIFF)。
我没有在我的项目中使用Java,.NET或任何其他东西。 我只使用HTML。
大家好,
对于上述问题,昨天我得到了解决方案。 即safari能够支持TIFF图像加载。
如何在剩余的不受支持的浏览器(IE,Mozilla,Firefox等)中加载TIFF图像
我无法安装第三方安装程序或控制器(如ActiveXController)。
请为此提出宝贵的建议。
提前致谢。
5个解决方案
53 votes
这归结为浏览器图像支持; 看起来支持tiff的唯一主流浏览器是Safari:
[http://en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support]
你从哪里得到tiff图像? 是否有可能以不同的格式生成它们?
如果你有一组静态图像,那么我建议使用像PaintShop Pro这样的东西批量转换它们,改变格式。
如果这不是一个选项,那么在寻找可以在浏览器中显示图像的预先编写的Java applet(或其他浏览器插件)可能会有一些里程。
Richard Everett answered 2019-06-18T17:52:25Z
16 votes
我发现此资源详细说明了各种方法:如何在HTML文档中嵌入TIFF文件
如前所述,它将在很大程度上取决于浏览器对格式的支持。 在Windows上的Chrome中查看该页面未显示任何图像。
如果你发布了你已经尝试过的代码,那也会很有帮助。
roryf answered 2019-06-18T17:53:04Z
4 votes
Tiff图像可以直接显示在IE和Safari上..不支持chrome和firefox上的tiff图像。 您可以对图像进行编码,然后通过将编码图像解码为其他格式将其显示在浏览器上。希望这对你有用
Pradeep Yadav answered 2019-06-18T17:53:29Z
2 votes
我可以在所有浏览器中显示tiff图像。
ie浏览器默认显示tiff图像,但firefox和chrome以及其他浏览器你应该将tiff图像从img html标签转换为canvas标签。 底部链接做这个转换。请查看底部链接演示:
[https://github.com/rasouliali/TiffViewer]
Ali Rasouli answered 2019-06-18T17:54:07Z
1 votes
您可以尝试将图像从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;
}
Roberto Rodriguez answered 2019-06-18T17:54:31Z