我们有一个使用 servlet 调整图像大小的照片库 - 我们需要良好的性能和良好的质量,但我们就是做不到。另外,很遗憾,我们只有 java 1.4,这让我们几乎没有外部图像库(我发现的几乎所有东西都是 java 1.5+),而且 java 图像处理真的不好。
如果我使用这个:
private static BufferedImage scaleImage(BufferedImage orig, int type, int w, int h) {
BufferedImage tmp = new BufferedImage(w, h, type);
Graphics2D g2 = tmp.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2.drawImage(orig, 0, 0, w, h, null);
g2.dispose();
return tmp;
}
结果每次都几乎相同(而且看起来很糟糕)或非常慢,这取决于所选的提示。我几乎阅读了所有关于在 Java 中调整图像大小的文章(包括 this one,但它没有帮助。
你有什么想法吗?任何快速且质量不错的 java 1.4 外部库?有什么算法可以得到好的结果吗?
最佳答案
您可以尝试像 JMagick 这样的 Image Magick 包装器.
关于java 1.4 高质量图像调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6941672/