Mostrar imagen TIFF en todos los navegadores web [cerrado]

92

¿Cómo manejar un archivo TIFF en páginas HTML?

Quiero mostrar un archivo TIFF en mi página HTML.

Intenté usar etiqueta incrustada, ID de objeto, img, etc. Pero no puedo mostrar la imagen (TIFF) en la página HTML.

No estoy usando Java, .NET o cualquier otra cosa en mi proyecto. Solo estoy usando HTML.


ACTUALIZACIÓN: Safari admite la carga de imágenes TIFF. ¿Cómo puedo cargar imágenes TIFF en otros navegadores (IE, Mozilla, Firefox, etc.)?

No puedo instalar un complemento o controlador de terceros (como ActiveXController).

ASHOK
fuente

Respuestas:

70

Esto se reduce al soporte de imágenes del navegador; Parece que el único navegador convencional que admite tiff es Safari:

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

¿De dónde sacas las imágenes tiff? ¿Es posible que se generen en un formato diferente?

Si tiene un conjunto estático de imágenes, le recomiendo usar algo como PaintShop Pro para convertirlas por lotes, cambiando el formato.

Si esta no es una opción, entonces puede ser necesario buscar un subprograma Java preescrito (u otro complemento del navegador) que pueda mostrar las imágenes en el navegador.

Richard Ev
fuente
+1 TIFF en los navegadores es algo incierto, más aún con los CMYK. Sugiero que se convierta en JPG o PNG.
Pekka
Mantuve las imágenes TIFF solo en el sistema local. Según la especificación, no debería convertir a otro formato.
ASHOK
Según el soporte de formato de imagen en el navegador, puedo usar safari para mostrar la imagen TIFF. ¿Es correcto?
ASHOK
@ashok: la página de Wikipedia afirma que Safari puede representar imágenes TIFF. Recomiendo descargarlo (asumiendo que está usando Windows) y probarlo. apple.com/safari/download
Richard Ev
16

Encontré este recurso que detalla los diversos métodos: Cómo incrustar archivos TIFF en documentos HTML

Como se mencionó, dependerá en gran medida de la compatibilidad del navegador con el formato. Ver esa página en Chrome en Windows no mostró ninguna de las imágenes.

También sería útil que publicara el código que ya probó.

roryf
fuente
2
Lo siento, sería muy grande. Así que estoy publicando la parte de carga de imágenes solamente 1) <OBJECT CLASSID = "clsid: 02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" WIDTH = "100%" HEIGHT = "100%" CODEBASE = " apple.com/qtactivex/qtplugin. cab "> <PARAM nombre =" SRC "VALOR =" tiffdocument.tif "> <PARAM nombre =" ESCALA "VALOR =" aspecto "> </OBJECT> 2) <img ancho = 200 alto = 200 src =" tiffdocument. tif "alt =" "> así
ASHOK
1
No funciona en el Chrome reciente como dice: este sitio usa un complemento (imagen / tiff) que no es compatible .
Kenorb
4

Las imágenes Tiff se pueden mostrar directamente en IE y solo en Safari. No se admiten imágenes TIFF en Chrome y Firefox. puede codificar la imagen y luego mostrarla en el navegador decodificando la imagen codificada en algún otro formato. Espero que esto funcione para usted

Pradeep Yadav
fuente
2
¿Puede incluir alguna fuente, en caso de que esta información quede desactualizada?
Kenorb
3

Puede intentar convertir su imagen de tiff a PNG, así es como se hace:

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
fuente
de donde puedo descargar com.sun.media.jai.codec? Traté de buscarlo en la web y no había JAR
roeygol
2
@roeygol Proviene del SDK de imágenes avanzadas de Java descontinuado en oracle.com/technetwork/java/javasebusiness/downloads/…
brantgurga