Base64 修剪我的缩略图

Base64 trimming my thumbnail image

我有一些问题很难解决。

我制作了一个简短的代码片段:

BufferedImage image = ImageIO.read(new ByteArrayInputStream(payload));
BufferedImage thumbImg = Scalr.resize(image, Method.QUALITY,
    Mode.AUTOMATIC, WIDTH, HEIGHT, Scalr.OP_ANTIALIAS);

ByteArrayOutputStream baos = new ByteArrayOutputStream();
Base64OutputStream b64s = new Base64OutputStream(baos);
ImageIO.write(thumbImg, DATA_TYPE, b64s);
return baos.toByteArray();

returned thumbnail/byte 被删减了。它删除了底部并仅显示一个透明区域。

我想要的是缩小图像而不删除它的某些部分。

这样做的目的是 return 我的 html 项目的 base64。

是的..我刚刚更改了创建 base64 输出的逻辑。

而不是将其写入 Apache Commons Framework 的 Base64OutputStream。

ByteArrayOutputStream baos = new ByteArrayOutputStream();
Base64OutputStream b64s = new Base64OutputStream(baos);
ImageIO.write(thumbImg, DATA_TYPE, b64s);
return new ThumbnailPayload(baos.toByteArray()));

我这样做了

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(thumbImg, DATA_TYPE, baos);
return new ThumbnailPayload(Base64.encodeBase64(baos.toByteArray()));

目前正在运行。但是,如果你们能在一天结束前提出另一种解释方式,那就太棒了,很有帮助。