【发布时间】:2015-05-19 08:29:02
【问题描述】:
我是一名 Java 初学者,也是一名地学专业的学生。 我正在使用 IntelliJ。 我想从 BufferedImage 创建一个 TIFF。 这是我的代码:
byte[] buffer = new byte[width * height];
ColorSpace cs = ColorSpace.getInstance( ColorSpace.CS_GRAY );
int[] nBits = { 8 };
ColorModel cm = new ComponentColorModel( cs, nBits, false, true,Transparency.OPAQUE, DataBuffer.TYPE_BYTE );
SampleModel sm = cm.createCompatibleSampleModel( width, height );
DataBufferByte db = new DataBufferByte( buffer, width * height );
WritableRaster raster = Raster.createWritableRaster( sm, db, null);
BufferedImage result = new BufferedImage( cm, raster, false , null );
File outputfile = new File( "saved.png" );
ImageIO.write( result, "png", outputfile );
创建了一个光栅 .png,它运行良好。但我想创建一个 .TIFF 和 ImageIO.write 不要创建 TIFF(只有 png、bmp 和 jpeg)。所以我在这里下载了 JAI(Java Advanced Imaging):http://download.java.net/media/jai/builds/release/1_1_3/ 我将它上传到我的项目和 Maven 上,但我不知道如何简单地制作一个 tiff...我尝试了一些我在互联网上找到的 sn-ps,但它不起作用..
TIFFEncodeParam params = new TIFFEncodeParam();
FileOutputStream os = new FileOutputStream("PingsTiff.tiff");
javax.media.jai.JAI.create("encode", result, os, "TIFF", params);
“TIFFEncodeParam”和“媒体”无法识别……而且我是个真正的编程菜鸟……
谢谢
【问题讨论】: