0

我正在从 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);

-马诺伊

4

1 回答 1

0

我得到了解决方案。

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

谢谢。

于 2012-05-13T13:38:50.197 回答