我无法在jdk中添加jai库。我已经设定了正确的位置。 我需要阅读tiff图像。但这不起作用所以我试图将tiff文件转换为JPEG。但仍然得到同样的错误。 类路径集。一切都好。代码编译正常。我在stackflow上找到了:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.image.RenderedImage;
import com.sun.media.jai.codecimpl.JPEGCodec;
import com.sun.media.jai.codecimpl.*;
import com.sun.media.jai.codecimpl.JPEGImageEncoder;
import com.sun.media.jai.codec.SeekableStream;
import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.TIFFDecodeParam;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.*;
public class TiffUtils {
public static void TiffToJpg(String tiff, String output)throws IOException{
File tiffFile = new File(tiff);
SeekableStream s = new FileSeekableStream(tiffFile);
TIFFDecodeParam param = null;
ImageDecoder dec = ImageCodec.createImageDecoder("tiff", s, param);
RenderedImage op = dec.decodeAsRenderedImage(0);
FileOutputStream fos = new FileOutputStream(output);
JPEGEncodeParam jpgparam = new JPEGEncodeParam();
jpgparam.setQuality(67);
ImageEncoder en = ImageCodec.createImageEncoder("jpeg", fos, jpgparam);
en.encode(op);
fos.flush();
fos.close();}
public static void main(String[] args) throws Exception {
TiffUtils.TiffToJpg("C:\\Users\\JavaPrg\\Input\\def.tif","C:\\Users\\JavaPrg\\Input\\test.jpg");
}
}
运行时我遇到了seekeableStream的NoClassDefFound错误。所以现在我不想使用JAI和JAIImageIO Apis
答案 0 :(得分:-1)
JAI是JDK的扩展;你必须安装它。见http://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html。
确保您已正确安装。