我正在尝试使用javax.media.jai.JAI读取.tif图像。以下是我的代码:
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;
BufferedImage image = null;
if(extension.toLowerCase().equals("tif")) {
RenderedOp op = JAI.create(fileName, file);
image = op.getAsBufferedImage();
} else {
image = ImageIO.read(file);
}“文件”(Java.io.File)和"fileName“(字符串)参数就可以了。但是当它到达"JAI.create(...)“时行,我得到了这个异常:
java.lang.ClassNotFoundException: javax.media.jai.JAI我不知道为什么它找不到JAI。有什么想法吗?
发布于 2012-10-04 04:28:14
JAI不是JDK自带的。你可以单独得到它。找到适当的JAR库here。然后将其添加到您的路径中。
注意:如果您使用的是Windows,您可以获取jar并自行指定路径。或者获取将安装相同jar的exe,并将其添加到系统类路径中。我更喜欢自己设置路径。
在Ubuntu上,你也可以通过
sudo apt-get install libjai-core-java加载图像可以像这样完成:
public BufferedImage loadImage(String filePath){
RenderedOp img = JAI.create("fileload", filePath);
return img.getAsBufferedImage();
}"fileload"是一个文本字符串,是使用JAI.create()从文件加载图像的操作的名称。如果fileName不等于"fileload",也可能抛出异常。
https://stackoverflow.com/questions/12716213
复制相似问题