gpt4 book ai didi

java - 如何实现jpeg无损?

转载 作者:行者123 更新时间:2023-11-30 07:16:14 25 4
gpt4 key购买 nike

如何在Java中实现jpeg-lossess?

ImageWriter writer = (ImageWriter) ImageIO.getImageWritersByFormatName("JPEG-LS").next();
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionType("JPEG-LS");
writer.setOutput(ImageIO.createImageOutputStream(new File("C:\\Users\\RileyRen\\Desktop\\123.jpg")));
writer.write(null, new IIOImage(subBufferedImage, null, null), param);

会抛出异常:

Exception in thread "main" 
java.lang.IllegalArgumentException: Unknown compression type!
at javax.imageio.ImageWriteParam.setCompressionType(ImageWriteParam.java:1041)
at com.demandforce.ImageCrop.main(ImageCrop.java:59)

param.getCompressionTypes() 只打印[JPEG]

使用 JAI(版本 1.1.3):

    PlanarImage input = JAI.create("fileload", "C:\\Users\\RileyRen\\Desktop\\test.jpg");
ParameterBlock pb = new ParameterBlock();
pb.addSource(input);
pb.add(x);
pb.add(y);
pb.add(width);
pb.add(height);
PlanarImage output = JAI.create("crop",pb,null);
JAI.create("filestore",output,"C:\\Users\\RileyRen\\Desktop\\123.jpg","JPEG-LS");

同时抛出异常:

Exception in thread "main" 
java.lang.IllegalArgumentException: FileStore The specified format has no associated registered ImageCodec.
at javax.media.jai.JAI.createNS(JAI.java:1087)
at javax.media.jai.JAI.create(JAI.java:973)
at javax.media.jai.JAI.create(JAI.java:1621)
at com.demandforce.ImageCrop.main(ImageCrop.java:103)

你能写个例子吗?

最佳答案

标准 java 没有 JPEG-LS 的压缩类型。

您可以下载并使用 JAI (Java Advanced Imaging) API,我相信它包含这种压缩类型。

可以从here下载

关于java - 如何实现jpeg无损?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17187880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com