Показувати зображення 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.
Pekka

Я зберігав зображення TIFF лише в локальній системі. Відповідно до специфікації, я не повинен перетворювати в інший формат.
ASHOK

Відповідно до підтримки формату зображення в браузері, я можу використовувати сафарі для відображення зображення TIFF. Це право?
ASHOK

@ashok: Сторінка Вікіпедії стверджує, що Safari може відтворювати зображення TIFF. Я рекомендую завантажити його (припускаючи, що ви використовуєте Windows) і спробувати. apple.com/safari/download
Richard Ev


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 =" аспект "> </OBJECT> 2) <img width = 200 height = 200 src =" tiffdocument. tif "alt =" "> так
АШОК

1
Це не працює в недавньому Chrome, як сказано: Цей веб-сайт використовує плагін (image / tiff), який не підтримується .
kenorb

4

Зображення Tiff можна відображати безпосередньо в IE та лише в сафарі .. відсутність підтримки зображень 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? Я намагався шукати це через Інтернет, і там не було JAR
roeygol

2
@roeygol Виходить із припиненого розвитку Java Advanced Imaging SDK на oracle.com/technetwork/java/javasebusiness/downloads/…
brantgurga
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.