首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用JAI.create时JAI ClassNotFound异常

调用JAI.create时JAI ClassNotFound异常
EN

Stack Overflow用户
提问于 2012-10-04 04:18:57
回答 1查看 2.7K关注 0票数 2

我正在尝试使用javax.media.jai.JAI读取.tif图像。以下是我的代码:

代码语言:javascript
复制
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(...)“时行,我得到了这个异常:

代码语言:javascript
复制
java.lang.ClassNotFoundException: javax.media.jai.JAI

我不知道为什么它找不到JAI。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-04 04:28:14

JAI不是JDK自带的。你可以单独得到它。找到适当的JAR库here。然后将其添加到您的路径中。

注意:如果您使用的是Windows,您可以获取jar并自行指定路径。或者获取将安装相同jar的exe,并将其添加到系统类路径中。我更喜欢自己设置路径。

在Ubuntu上,你也可以通过

代码语言:javascript
复制
sudo apt-get install libjai-core-java

加载图像可以像这样完成:

代码语言:javascript
复制
public BufferedImage loadImage(String filePath){
    RenderedOp img = JAI.create("fileload", filePath);
    return img.getAsBufferedImage();
}

"fileload"是一个文本字符串,是使用JAI.create()从文件加载图像的操作的名称。如果fileName不等于"fileload",也可能抛出异常。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12716213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档