Отображать изображение TIFF во всех веб-браузерах [закрыто]

92

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

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

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

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


ОБНОВЛЕНИЕ: Safari поддерживает загрузку изображений TIFF. Как я могу загружать изображения TIFF в других браузерах (IE, Mozilla, Firefox и т. Д.)?

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

АШОК
источник

Ответы:

70

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

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

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

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

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

Ричард Ив
источник
+1 TIFF в браузерах - вещь сомнительная, особенно с CMYK. Предлагаю конвертировать в JPG или PNG.
Пекка
Я сохранил изображения TIFF только в локальной системе. Согласно спецификации, я не должен конвертировать в другой формат.
ASHOK 01
В соответствии с поддержкой формата изображения в браузере, я могу использовать сафари для отображения изображения TIFF. Это правильно?
ASHOK 01
@ashok: На странице Википедии утверждается, что Safari может отображать изображения TIFF. Я бы рекомендовал загрузить его (при условии, что вы используете Windows) и попробовать. apple.com/safari/download
Ричард Ev
1
Расширение Chrome: chrome.google.com/webstore/detail/inline-tiff-viewer/…
Дуг
16

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

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

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

Рориф
источник
2
Извините, это было бы очень большим. Итак, я публикую только часть загрузки изображения 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 =" "> вот так
ASHOK 01
1
Это не работает в последней версии Chrome, как говорится: этот сайт использует плагин (image / tiff), который не поддерживается .
kenorb
4

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

Прадип Ядав
источник
2
Можете ли вы указать какой-либо источник, если эта информация устареет?
kenorb
3

Вы можете попробовать преобразовать изображение из 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;

    }
Роберто Родригес
источник
откуда я могу скачать com.sun.media.jai.codec? Я попытался найти его в Интернете, но не
нашел
2
@roeygol Это взято из прекращенного Java Advanced Imaging SDK на oracle.com/technetwork/java/javasebusiness/downloads/…
brantgurga