Exibir imagem TIFF em todos os navegadores da web [fechado]

91

Como lidar com arquivos TIFF em páginas HTML?

Quero exibir um arquivo TIFF na minha página HTML.

Eu tentei usar tag incorporada, id de objeto, img, etc. Mas não consigo exibir a imagem (TIFF) na página HTML.

Não estou usando Java, .NET ou qualquer outra coisa em meu projeto. Estou usando apenas HTML.


ATUALIZAÇÃO: Safari suporta carregamento de imagens TIFF. Como posso carregar imagens TIFF em outros navegadores (IE, Mozilla, Firefox, etc)?

Não consigo instalar um plugin ou controlador de terceiros (como ActiveXController).

ASHOK
fonte

Respostas:

69

Isso se resume ao suporte de imagem do navegador; parece que o único navegador principal compatível com tiff é o Safari:

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

De onde você está tirando as imagens tiff? É possível gerá-los em um formato diferente?

Se você tiver um conjunto estático de imagens, recomendo usar algo como o PaintShop Pro para convertê-las em lote, alterando o formato.

Se isso não for uma opção, pode haver um certo esforço em procurar um miniaplicativo Java pré-escrito (ou outro plug-in de navegador) que possa exibir as imagens no navegador.

Richard Ev
fonte
+1 TIFF em navegadores é uma coisa incerta - ainda mais com os CMYK. Eu sugiro convetar para JPG ou PNG.
Pekka
Eu mantive imagens TIFF apenas no sistema local. De acordo com a especificação, não devo converter para outro formato.
ASHOK de
De acordo com o suporte ao formato de imagem no navegador, posso usar o safari para exibir a imagem TIFF. Está certo?
ASHOK
@ashok: A página da Wikipedia afirma que o Safari pode renderizar imagens TIFF. Eu recomendo baixá-lo (supondo que você esteja usando o Windows) e experimentá-lo. apple.com/safari/download
Richard Ev
16

Encontrei este recurso que detalha os vários métodos: Como incorporar arquivos TIFF em documentos HTML

Conforme mencionado, dependerá muito do suporte do navegador para o formato. Visualizar aquela página no Chrome no Windows não exibiu nenhuma das imagens.

Também seria útil se você postasse o código que já tentou.

roryf
fonte
2
Desculpe, seria muito grande. Então, estou postando a parte de carregamento de imagem apenas 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 =" aspect "> </OBJECT> 2) <img width = 200 height = 200 src =" tiffdocument. tif "alt =" "> assim
ASHOK de
1
Não funciona no Chrome recente, como diz: Este site usa um plugin (imagem / tiff) que não é compatível .
Kenorb de
4

Imagens Tiff podem ser exibidas diretamente no IE e safari apenas .. sem suporte de imagens tiff no Chrome e Firefox. você pode codificar a imagem e exibi-la no navegador, decodificando a imagem codificada para algum outro formato. Espero que funcione para voce

Pradeep Yadav
fonte
2
Você pode incluir alguma fonte, caso essa informação fique desatualizada?
Kenorb
3

Você pode tentar converter sua imagem de tiff para PNG. Veja como fazer isso:

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
fonte
de onde posso fazer o download com.sun.media.jai.codec? Tentei procurá-lo na web e não havia JAR
roeygol
2
@roeygol Vem do Java Advanced Imaging SDK descontinuado em oracle.com/technetwork/java/javasebusiness/downloads/…
brantgurga