gpt4 book ai didi

java - JPEGImageEncoder 在 JDK 7 中不起作用

转载 作者:行者123 更新时间:2023-11-30 08:15:59 25 4
gpt4 key购买 nike

我尝试使用 JCaptcha 组件制作验证码,我需要在相关的 servlet 中对图像进行编码。所以根据 JCaptcha 教程,我应该使用 JPEGImageEncoder,它与 JDK7 不兼容。我还能做什么?
这是代码的相关部分:

     ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();
BufferedImage challenge =
CaptchaServiceSingleton.getInstance().getImageChallengeForID(captchaId,
httpServletRequest.getLocale());
JPEGImageEncoder jpegEncoder =
JPEGCodec.createJPEGEncoder(jpegOutputStream);
jpegEncoder.encode(challenge);
} catch (IllegalArgumentException e) {
httpServletResponse.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
} catch (CaptchaServiceException e) {
httpServletResponse.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}

最佳答案

使用ImageIO :

ImageWriter imageWriter = 
ImageIO.getImageWritersBySuffix("jpeg").next();
ImageOutputStream ios =
ImageIO.createImageOutputStream(jpegOutputStream);
imageWriter.setOutput(ios);
IIOMetadata imageMetaData = imageWriter.getDefaultImageMetadata(
new ImageTypeSpecifier(challenge), null);
imageWriter.write(
imageMetaData, new IIOImage(challenge, null, null), null);

这将替换内部和已弃用的 JPEG 函数。

关于java - JPEGImageEncoder 在 JDK 7 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28579709/

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