将 JPEG 图像存储为黑色背景色,在生产中带有方框



我正在从URL重新调整jpeg图像的大小,并使用Java servlet中的JPEGImageEncoder存储在某个目录中。

代码在我们的开发 Solaris 服务器中运行良好。但它将图像存储为带有方框的黑色背景色。

请帮助我解决可能出现的问题。提前谢谢。

BufferedImage thumbImage = new BufferedImage(thumbWidth, 
          thumbHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
          RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);
int quality = Integer.parseInt(nquality);
quality = Math.max(0, Math.min(quality, 100));
param.setQuality((float)quality / 100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(thumbImage);

-马诺吉

我得到了解决方案。

实际上,无法从 Java 代码访问源图像 url。这就是我得到黑色形象的原因。我们将 url 更改为可访问,现在它工作正常。

谢谢。

最新更新