2010-02-01 107 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; 

    } 
相關問題