gpt4 book ai didi

java - 正确替换 Sun 内部 com.sun.image.codec.jpeg 包的使用?

转载 作者:搜寻专家 更新时间:2023-11-01 03:14:51 42 4
gpt4 key购买 nike

我们有一些代码在使用这个旧的内部 Sun 包来处理图像,本质上是在从输入流中读取/解码后将 JPEG 编码为特定的大小和质量。下面的代码示例。我将不胜感激使用适当的 java.* 或 javax.* API 的最佳实践替换示例。

private void encodeJPEG(BufferedImage bi, BufferedOutputStream out, float quality) throws
ImageFormatException, IOException {
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
param.setQuality(quality, false);
param.setDensityUnit(DENSITY_UNIT);
param.setXDensity(DENSITY);
param.setYDensity(DENSITY);
encoder.setJPEGEncodeParam(param);
encoder.encode(bi);
}


private void initJPEG(File jpegFile) throws FileNotFoundException, IOException,
IOException {
FileInputStream inputStream = new FileInputStream(jpegFile);
try {
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(inputStream);
buffImage = decoder.decodeAsBufferedImage();
}
.....error handling.....

最佳答案

我还没有尝试过这种方法,但你可以看看 Java Image I/O API . JPEGImageWriteParam class会特别感兴趣。

关于java - 正确替换 Sun 内部 com.sun.image.codec.jpeg 包的使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359904/

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