hutool-captcha 图片偏红问题
如图

设置代码背景色如下
// 设置背景颜色为白色 不生效
lineCaptcha.setBackground(Color.white);
问题代码
//返回 base64
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(lineCaptcha.getImage(), "JPEG", bos);
byte[] bytes = bos.toByteArray();
Base64.Encoder encoder = Base64.getEncoder();
base64String = "data:image/png;base64," + encoder.encodeToString(bytes);
改正后代码
//返回 base64
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(lineCaptcha.getImage(), "PNG", bos);
byte[] bytes = bos.toByteArray();
Base64.Encoder encoder = Base64.getEncoder();
base64String = "data:image/png;base64," + encoder.encodeToString(bytes);
之前代码IO读取时JPEG格式,改成PNG格式即可,格式不对导致图片失真

文章讲述了在使用HutoolCaptcha库时,由于将图片格式从JPEG改为PNG,解决了背景颜色偏红的问题,指出之前的JPEG格式导致图片失真,只需更改ImageIO.write方法中的格式参数即可.
9935

被折叠的 条评论
为什么被折叠?



