java 实现 tif图片(多页的)转换成jpg

谁能告诉我怎么写阿,有没有代码阿。 单页的TIF图片格式转成jpg没有问题,可是有一种tif图片打开是多页的,这个转换成JPG后就只有原tif图片的第一页急阿!! QQ:89065436

damaodaomao 2021-09-19 09:41 195 次浏览 赞 88

最新问答

  • Candy526368302

    多页单个tif文件转换为多个jpg文件
    需要的一些包支持(具体参考源),上网找找即可。
    源:
    -------------------------
    import java.io.*;
    import com.sun.media.jai.codec.FileSeekableStream;
    import com.sun.media.jai.codec.ImageDecoder;
    import com.sun.media.jai.codec.ImageCodec;
    import com.sun.media.jai.codec.TIFFEncodeParam;
    import com.sun.media.jai.codec.TIFFDecodeParam;
    import com.sun.media.jai.codec.JPEGEncodeParam;

    import java.awt.image.RenderedImage;
    import javax.media.jai.RenderedOp;
    import javax.media.jai.JAI;
    import java.awt.image.renderable.ParameterBlock;
    public class MultiPageRead {
    public static void main(String[] args) throws IOException {
    new MultiPageRead().doitJAI();
    }

    public void doitJAI() throws IOException {
    FileSeekableStream ss = new FileSeekableStream("./zhaoming.tif");
    TIFFDecodeParam param0 = null;
    TIFFEncodeParam param = new TIFFEncodeParam();
    JPEGEncodeParam param1 = new JPEGEncodeParam();
    ImageDecoder dec = ImageCodec.createImageDecoder("tiff", ss, param0);
    int count = dec.getNumPages();
    param.setCompression(TIFFEncodeParam.COMPRESSION_GROUP4);
    param.setLittleEndian(false); // Intel
    System.out.println("This TIF has " + count + " image(s)");
    for (int i = 0; i < count; i++) {
    RenderedImage page = dec.decodeAsRenderedImage(i);
    File f = new File("./fk_" + i + ".jpg");
    System.out.println("Saving " + f.getCanonicalPath());
    ParameterBlock pb = new ParameterBlock();
    pb.addSource(page);
    pb.add(f.toString());
    pb.add("JPEG");
    pb.add(param1);
    //JAI.create("filestore",pb);
    RenderedOp r = JAI.create("filestore",pb);
    r.dispose();

    //RenderedOp op = JAI.create("filestore", page, "./zhaoming_" + i + ".jpg", "JPEG", param1);
    }
    }
    }

    浏览 222赞 157时间 2023-07-30
  • 人大菲菲

    用photoshop打开,另存为jpg格式就可以了。注意很多tif图片都是cmyk的(印刷格式),如果想把图片应用于网络上,要转换成rgb三色的。方法就是打开后,点击图像—〉模式—〉rgb颜色。

    浏览 350赞 103时间 2022-01-23

java 实现 tif图片(多页的)转换成jpg

谁能告诉我怎么写阿,有没有代码阿。 单页的TIF图片格式转成jpg没有问题,可是有一种tif图片打开是多页的,这个转换成JPG后就只有原tif图片的第一页急阿!! QQ:89065436