Отображение изображения TIFF во всех веб-браузерах - PullRequest
77 голосов
/ 01 февраля 2010

Как обрабатывать TIFF файл на страницах HTML?

Я хочу отобразить файл TIFF на моей HTML-странице.

Я пытался использовать встроенный тег, идентификатор объекта, img и т. Д. Но я не могу отобразить изображение (TIFF) на странице HTML.

Я не использую Java, .NET или любую другую вещь в моем проекте. Я использую только HTML.

Привет всем,

На вышеуказанный вопрос вчера я получил решение. То есть, Safari поддерживает загрузку изображений в формате TIFF.

Что я должен сделать, чтобы загрузить изображение TIFF в оставшийся неподдерживаемый браузер (IE, Mozilla, Firefox и т. Д.)

Я не могу установить сторонний установщик или контроллер (например, ActiveXController).

Пожалуйста, дайте ваше ценное предложение к этому.

Заранее спасибо.

Ответы [ 5 ]

58 голосов
/ 01 февраля 2010

Это сводится к поддержке изображений браузера; похоже, что единственным распространенным браузером, поддерживающим tiff, является Safari:

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

Откуда вы получаете изображения TIFF? Возможно ли их генерировать в другом формате?

Если у вас есть статический набор изображений, я бы порекомендовал использовать что-то вроде PaintShop Pro для их пакетного преобразования, изменения формата.

Если это не вариант, то может потребоваться некоторое время для поиска предварительно написанного Java-апплета (или другого плагина браузера), который может отображать изображения в браузере.

16 голосов
/ 01 февраля 2010

Я нашел этот ресурс, который подробно описывает различные методы: Как встроить файлы TIFF в документы HTML

Как уже упоминалось, это будет во многом зависеть от поддержки браузером этого формата. При просмотре этой страницы в Chrome в Windows изображения не отображались.

Также было бы полезно, если бы вы опубликовали код, который вы уже пробовали.

4 голосов
/ 28 января 2015

Изображения TIFF могут отображаться непосредственно только в IE и Safari. Нет поддержки изображений TIFF в Chrome и Firefox. Вы можете закодировать изображение и затем отобразить его в браузере, расшифровав закодированное изображение в каком-либо другом формате. Надеюсь, что это работает для вас

2 голосов
/ 17 мая 2017

Вы можете попробовать преобразовать ваше изображение из TIFF в PNG, вот как это сделать:

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;

    }
2 голосов
/ 06 декабря 2016

Я могу показать картинку в любом браузере.
То есть браузер по умолчанию показывает изображения в формате TIFF, кроме Firefox и Chrome, а также в другом браузере вам необходимо преобразовать изображение TIFF из тега img html в тег canvas. нижние ссылки делают это конвертировать. пожалуйста, просмотрите нижние ссылки демоверсии:
https://github.com/rasouliali/TiffViewer

...