Tampilkan gambar TIFF di semua browser web [ditutup]

92

Bagaimana cara menangani file TIFF di halaman HTML?

Saya ingin menampilkan file TIFF di halaman HTML saya.

Saya telah mencoba menggunakan tag tertanam, id objek, img, dll. Tetapi saya tidak dapat menampilkan gambar (TIFF) di halaman HTML.

Saya tidak menggunakan Java, .NET atau hal lain dalam proyek saya. Saya hanya menggunakan HTML.


UPDATE: Safari mendukung pemuatan gambar TIFF. Bagaimana cara memuat gambar TIFF di browser lain (IE, Mozilla, Firefox, dll)?

Saya tidak dapat memasang plugin atau pengontrol pihak ketiga (seperti ActiveXController).

ASHOK
sumber

Jawaban:

70

Ini tergantung pada dukungan gambar browser; Sepertinya satu-satunya browser utama yang mendukung tiff adalah Safari:

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

Dari mana Anda mendapatkan gambar tiff? Apakah mungkin mereka dibuat dalam format yang berbeda?

Jika Anda memiliki kumpulan gambar statis maka saya akan merekomendasikan menggunakan sesuatu seperti PaintShop Pro untuk mengonversinya secara batch, mengubah formatnya.

Jika ini bukan pilihan maka mungkin ada beberapa jarak tempuh dalam mencari applet Java yang sudah ditulis sebelumnya (atau plugin browser lain) yang dapat menampilkan gambar di browser.

Richard Ev
sumber
+1 TIFF di browser adalah hal yang tidak pasti - terlebih lagi dengan CMYK. Saya menyarankan konversi ke JPG atau PNG.
Pekka
Saya menyimpan gambar TIFF hanya di sistem lokal. Sesuai spesifikasi, saya tidak boleh mengonversi ke format lain.
ASHOK
Sesuai dengan dukungan format Gambar di Browser, saya dapat menggunakan safari untuk menampilkan gambar TIFF. Apakah tepat?
TANYAKAN
@ashok: Halaman Wikipedia mengklaim bahwa Safari dapat membuat gambar TIFF. Saya sarankan untuk mengunduhnya (dengan asumsi Anda menggunakan Windows) dan mencobanya. apple.com/safari/download
Richard Ev
16

Saya menemukan sumber daya ini yang merinci berbagai metode: Bagaimana menyematkan file TIFF dalam dokumen HTML

Seperti yang disebutkan, ini akan sangat bergantung pada dukungan browser untuk formatnya. Melihat halaman itu di Chrome di Windows tidak menampilkan gambar apa pun.

Ini juga akan membantu jika Anda memposting kode yang sudah Anda coba.

roryf
sumber
2
Maaf itu akan sangat besar. Jadi saya memposting pemuatan gambar hanya bagian 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 =" "> seperti itu
ASHOK
1
Ini tidak berfungsi di Chrome terbaru karena dikatakan: Situs ini menggunakan plugin (image / tiff) yang tidak didukung .
kenorb
4

Gambar Tiff dapat ditampilkan langsung ke IE dan safari saja .. tidak ada dukungan gambar tiff di chrome dan firefox. Anda dapat menyandikan gambar dan kemudian menampilkannya di browser dengan mendekode gambar yang disandikan ke beberapa format lain. Semoga ini berhasil untuk Anda

Pradeep Yadav
sumber
2
Dapatkah Anda memasukkan sumber apa pun, jika informasi ini menjadi usang?
kenorb
3

Anda dapat mencoba mengonversi gambar Anda dari tiff ke PNG, berikut ini cara melakukannya:

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
sumber
dari mana saya bisa mengunduh com.sun.media.jai.codec? Saya mencoba mencarinya melalui web dan tidak ada JAR
roeygol
2
@roeygol Itu berasal dari Java Advanced Imaging SDK yang dihentikan di oracle.com/technetwork/java/javasebusiness/downloads/…
brantgurga