2010-02-01 9 views
56

Wie behandelt man TIFF Datei in HTML-Seiten?Anzeige TIFF-Bild in allen Web-Browser

Ich möchte eine TIFF-Datei in meiner HTML-Seite anzeigen.

Ich habe versucht, Embedded-Tag, Objekt-ID, IMG usw. zu verwenden. Aber ich kann das Bild (TIFF) in der HTML-Seite nicht anzeigen.

Ich verwende kein Java, .NET oder andere Dinge in meinem Projekt. Ich verwende nur HTML.

#

alle Hallo,

auf die obige Frage, gestern bekam ich Lösung. d.h. Safari, die das Laden von TIFF-Bildern unterstützt.

Was soll ich tun, TIFF-Bild in dem verbleibenden nicht unterstützten Browser (IE, Mozilla, Firefox, etc.)

ich bin nicht in der Lage zu laden Dritten Installateur oder Controller zu installieren (wie ActiveXController).

Bitte geben Sie Ihren wertvollen Vorschlag dazu.

Vielen Dank im Voraus.

Antwort

47

Dies kommt auf Browser-Image-Unterstützung; es sieht aus wie der einzige Mainstream-Browser, TIFF unterstützt, ist Safari:

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

Wo Sie die TIFF-Bilder aus bekommen sind? Ist es möglich, dass sie in einem anderen Format generiert werden?

Wenn Sie eine statische Reihe von Bildern haben, würde ich empfehlen, etwas wie PaintShop Pro zu verwenden, um sie zu konvertieren, das Format zu ändern.

Wenn dies keine Option ist, kann es bei der Suche nach einem vordefinierten Java-Applet (oder einem anderen Browser-Plug-in), das die Bilder im Browser anzeigen kann, einige Kilometer dauern.

+0

+1 TIFF in Browsern sind nicht sicher, was - noch mehr also mit CMYK. Ich schlage vor, JPG oder PNG zu unterstützen. –

+0

Ich behielt TIFF-Bilder nur im lokalen System. Gemäß der Spezifikation sollte ich nicht in ein anderes Format konvertieren. – ASHOK

+0

Wie im Image-Format in Browser unterstützt, kann ich Safari verwenden, um das TIFF-Bild anzuzeigen. Ist es richtig? – ASHOK

14

fand ich diese Ressource, die die verschiedenen Methoden Details: How to embed TIFF files in HTML documents

Wie bereits erwähnt, wird es sehr viel davon abhängen, Browser-Unterstützung für das Format. Beim Anzeigen dieser Seite in Chrome unter Windows wurden keine Bilder angezeigt.

Es wäre auch hilfreich, wenn Sie den Code, den Sie bereits versucht haben, gepostet haben.

+2

+1 Nizza Ressource –

+2

Leider ist es sehr groß sein würde, also ich bin Entsendung Bild Ladeteil nur 1) 2) wie die – ASHOK

+0

Vielen Dank. Safari-Browser unterstützt TIFF-Bild. – ASHOK

3

TIFF Bilder können direkt auf IE und Safari angezeigt werden .. keine Unterstützung von TIFF Bildern auf Chrome und Firefox. Sie können das Bild kodieren und es dann im Browser anzeigen, indem Sie das kodierte Bild in ein anderes Format dekodieren. Hoffe, das funktioniert für Sie

+0

Können Sie eine Quelle hinzufügen, falls diese Informationen veraltet sind? – kenorb

1

Ich kann Tiff Bild in allen Browsern zeigen.
Der IE-Browser standardmäßig zeigen TIFF-Bilder, aber Firefox und Chrome und andere Browser sollten Sie das TIFF-Bild von HTML-Tag zu Leinwand Tag konvertieren. Unterste Links konvertieren dies. bitte siehe unten Links Demos:
https://github.com/rasouliali/TiffViewer

0

Sie können Ihr Bild von TIFF zu PNG versuchen konvertieren, ist hier, wie es geht:

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; 

    }