Wyświetlaj obraz TIFF we wszystkich przeglądarkach internetowych [zamknięte]

92

Jak obsługiwać plik TIFF na stronach HTML?

Chcę wyświetlić plik TIFF na mojej stronie HTML.

Próbowałem użyć osadzonego tagu, identyfikatora obiektu, img, itp. Ale nie mogę wyświetlić obrazu (TIFF) na stronie HTML.

W moim projekcie nie używam Java, .NET ani żadnej innej rzeczy. Używam tylko HTML.


AKTUALIZACJA: Safari obsługuje ładowanie obrazów TIFF. Jak mogę załadować obrazy TIFF w innych przeglądarkach (IE, Mozilla, Firefox itp.)?

Nie mogę zainstalować wtyczki lub kontrolera innej firmy (np. ActiveXController).

ASHOK
źródło

Odpowiedzi:

70

Sprowadza się to do obsługi obrazów w przeglądarce; wygląda na to, że jedyną popularną przeglądarką obsługującą tiff jest Safari:

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

Skąd bierzesz obrazy TIFF? Czy można je wygenerować w innym formacie?

Jeśli masz statyczny zestaw obrazów, polecam użycie czegoś takiego jak PaintShop Pro do ich wsadowej konwersji, zmiany formatu.

Jeśli nie ma takiej opcji, szukanie gotowego apletu Java (lub innej wtyczki do przeglądarki), który może wyświetlać obrazy w przeglądarce, może wymagać pewnego czasu.

Richard Ev
źródło
+1 TIFF w przeglądarkach to rzecz niepewna - tym bardziej w przypadku przeglądarek CMYK. Proponuję konwertowanie do JPG lub PNG.
Pekka
Zachowałem obrazy TIFF tylko w systemie lokalnym. Zgodnie ze specyfikacją nie powinienem konwertować na inny format.
ASHOK
Zgodnie z obsługą formatu obrazu w przeglądarce, mogę użyć safari do wyświetlenia obrazu TIFF. Czy to jest poprawne?
ASHOK
@ashok: Strona Wikipedii twierdzi, że Safari może renderować obrazy TIFF. Polecam go pobrać (zakładając, że używasz systemu Windows) i wypróbować. apple.com/safari/download
Richard Ev
16

Znalazłem ten zasób, który szczegółowo opisuje różne metody: Jak osadzać pliki TIFF w dokumentach HTML

Jak wspomniano, będzie to w dużym stopniu zależeć od obsługi formatu przez przeglądarkę. Wyświetlenie tej strony w Chrome w systemie Windows nie spowodowało wyświetlenia żadnego obrazu.

Byłoby również pomocne, gdybyś opublikował kod, który już wypróbowałeś.

roryf
źródło
2
Przepraszam, byłoby bardzo duże. Wysyłam więc tylko część wczytywania obrazu 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 =" aspekt "> </OBJECT> 2) <img width = 200 height = 200 src =" tiffdocument. tif "alt =" "> w ten sposób
ASHOK
1
Nie działa w najnowszym Chrome, jak mówi: Ta strona używa wtyczki (image / tiff), która nie jest obsługiwana .
kenorb
4

Obrazy TIFF można wyświetlać bezpośrednio tylko w przeglądarce IE i Safari. Brak obsługi obrazów TIFF w przeglądarce Chrome i Firefox. możesz zakodować obraz, a następnie wyświetlić go w przeglądarce, dekodując zakodowany obraz do innego formatu. Mam nadzieję, że to działa dla Ciebie

Pradeep Yadav
źródło
2
Czy możesz podać jakiekolwiek źródło na wypadek, gdyby te informacje stały się nieaktualne?
kenorb
3

Możesz spróbować przekonwertować swój obraz z tiff na PNG, oto jak to zrobić:

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
źródło
skąd mogę pobrać com.sun.media.jai.codec? Próbowałem go poszukać w sieci i nie było JAR-a
roeygol
2
@roeygol Pochodzi z wycofanego Java Advanced Imaging SDK pod adresem oracle.com/technetwork/java/javasebusiness/downloads/ ...
brantgurga