110 votes

Afficher l'image TIFF dans tous les navigateurs web

Comment gérer TIFF dans les pages HTML ?

Je veux afficher un fichier TIFF dans ma page HTML.

J'ai essayé d'utiliser la balise embedded, object id, img, etc. Mais je ne parviens pas à afficher l'image (TIFF) dans la page HTML.

Je n'utilise pas Java, .NET ou autre chose dans mon projet. Je n'utilise que du HTML.


MISE À JOUR : Safari prend en charge le chargement des images TIFF. Comment puis-je charger des images TIFF dans d'autres navigateurs (IE, Mozilla, Firefox, etc.) ?

Je ne parviens pas à installer un plugin ou un contrôleur tiers (comme ActiveXController).

85voto

Richard Everett Points 18318

Cela dépend de la prise en charge des images par les navigateurs ; il semble que le seul navigateur grand public qui prenne en charge le format tiff soit Safari :

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

D'où proviennent les images TIFF ? Est-il possible qu'elles soient générées dans un format différent ?

Si vous avez un ensemble statique d'images, je vous recommande d'utiliser quelque chose comme PaintShop Pro pour les convertir par lots, en changeant le format.

Si ce n'est pas possible, il peut être utile de chercher une applet Java préécrite (ou un autre plugin de navigateur) qui peut afficher les images dans le navigateur.

2 votes

+1 TIFF dans les navigateurs est une chose incertaine - encore plus avec les CMYK. Je suggère de passer au format JPG ou PNG.

0 votes

J'ai conservé les images TIFF dans le système local uniquement. Selon les spécifications, je ne dois pas les convertir dans un autre format.

1 votes

Selon le support du format d'image dans le navigateur, je peux utiliser Safari pour afficher l'image TIFF. Est-ce exact ?

17voto

roryf Points 14520

J'ai trouvé cette ressource qui détaille les différentes méthodes : Comment intégrer des fichiers TIFF dans des documents HTML

Comme nous l'avons mentionné, cela dépend en grande partie de la prise en charge du format par le navigateur. L'affichage de cette page dans Chrome sous Windows n'a permis d'afficher aucune des images.

Il serait également utile que vous affichiez le code que vous avez déjà essayé.

2 votes

Désolé, ce serait très grand. Donc, je n'affiche que la partie de chargement d'image 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=""> comme ça

2 votes

Cela ne fonctionne pas dans le Chrome récent comme il est dit : Ce site utilise un plugin (image/tiff) qui n'est pas pris en charge. .

4voto

Pradeep Yadav Points 41

Les images Tiff peuvent être affichées directement sur IE et safari seulement. pas de support des images Tiff sur chrome et firefox. vous pouvez encoder l'image et ensuite l'afficher sur le navigateur en décodant l'image encodée dans un autre format. J'espère que cela fonctionnera pour vous

3 votes

Pouvez-vous inclure une source, au cas où cette information deviendrait obsolète ?

4voto

Roberto Rodriguez Points 1119

Vous pouvez essayer de convertir votre image de tiff en PNG, voici comment faire :

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;

    }
}

0 votes

D'où puis-je télécharger com.sun.media.jai.codec ? J'ai essayé de le chercher sur le web et il n'y avait pas de JAR.

3 votes

@roeygol Il provient de l'ancien Java Advanced Imaging SDK à l'adresse suivante oracle.com/technetwork/java/javasebusiness/downloads/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X