【问题标题】:is there any other way of converting tiff into jpg without using JAI or JAIImageIO有没有其他方法可以在不使用 JAI 或 JAIImageIO 的情况下将 tiff 转换为 jpg
【发布时间】:2014-08-01 05:30:58
【问题描述】:

我无法在 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

【问题讨论】:

  • 听起来你有一个类路径问题,如果代码编译但你在运行时得到NoClassDefFoundError。如果你想避免使用 JAI,你可以随时尝试使用我的TIFF plugin for ImageIO
  • NoClassDefFoundError 不是不想使用 JAI 或 JAIImageIO API 的合理动机。更重要的是解决当前的问题,而不是转向另一种未知的技术以及随之而来的任何未知问题。

标签: java jai


【解决方案1】:

JAI 是 JDK 的扩展;你必须安装它。见http://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html

确保您已正确安装。

【讨论】:

  • 我的 jar 已损坏,因此无法制作.. 下载正确的开始工作 谢谢
  • 这并不是实际问题的真正答案。它解决了 user23385s 的问题,但不能解决没有 JAI 的情况下阅读 tiff :(
猜你喜欢
  • 2018-04-04
  • 2013-07-09
  • 1970-01-01
  • 2018-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-17
相关资源
最近更新 更多