首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPEGImageEncoder不适用于JDK 7

JPEGImageEncoder不适用于JDK 7
EN

Stack Overflow用户
提问于 2015-02-18 09:10:17
回答 1查看 4.2K关注 0票数 4

我尝试使用JCaptcha组件来制作captcha,并且需要在相关servlet中编码图像。因此,根据JCaptcha教程,我应该使用JPEGImageEncoder,它与JDK7不兼容。我还能做什么?

下面是代码的相关部分:

代码语言:javascript
复制
     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;
     }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-18 09:34:16

使用ImageIO

代码语言:javascript
复制
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函数。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28579709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档