HTML ページでTIFF画像を処理するにはどうすればよいですか?
埋め込みタグ、オブジェクト ID、img などを使用してみましたが、HTML ページに TIFF 画像を表示できません。
私のプロジェクトでは、Java、.NET、またはその他の代替手段を使用していません。
更新: Safari は TIFF 画像の読み込みをサポートしています。他のブラウザー (IE、Mozilla、Firefox など) で TIFF 画像を読み込むにはどうすればよいですか?
これはブラウザの画像サポートに帰着します。tiff をサポートしている主流のブラウザーは Safari だけのようです。
http://en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support
ティフ画像はどこから入手していますか?それらを別の形式で生成することは可能ですか?
静的な画像セットがある場合は、PaintShop Proなどを使用してバッチ変換し、形式を変更することをお勧めします。
これができない場合は、ブラウザで画像を表示できる、事前に作成された Java アプレット (または別のブラウザ プラグイン) を探すのにいくらかの距離があるかもしれません。
さまざまな方法について詳しく説明している次のリソースを見つけました: HTML ドキュメントに TIFF ファイルを埋め込む方法
前述のように、フォーマットに対するブラウザのサポートに大きく依存します。Windows の Chrome でそのページを表示しても、画像は表示されませんでした。
すでに試したコードを投稿していただけると助かります。
Tiff 画像は、IE と Safari でのみ直接表示できます。Chrome と Firefox では、Tiff 画像はサポートされていません。画像をエンコードしてから、エンコードされた画像を他の形式にデコードすることでブラウザに表示できます。これがうまくいくことを願っています
画像を 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;
}
}