我需要一些足够智能的缩略图生成库,以在我的Java应用程序中使用。我已经在这里找到了适当的代码(链接),但我不确定可能存在许可问题。
是否有任何免费的适当库?
我需要一些足够智能的缩略图生成库,以在我的Java应用程序中使用。我已经在这里找到了适当的代码(链接),但我不确定可能存在许可问题。
是否有任何免费的适当库?
尝试使用thumbnailator:http://code.google.com/p/thumbnailator/。您需要添加的所有代码是:
Thumbnails.of(new File("path/to/directory").listFiles())
.size(640, 480)
.outputFormat("jpg")
.toFiles(Rename.PREFIX_DOT_THUMBNAIL);
它也很快:https://github.com/coobird/thumbnailator/wiki/Comparison
祝好运
javax.imageio.ImageIO
中的静态实用程序方法来加载和保存图像,并使用Image#getScaledInstance(...)
来调整原始图像的大小。由于从getScaledInstance
获得的Image
不是BufferedImage
,因此你需要创建一个具有正确尺寸的新BufferedImage
,并将缩放后的图像绘制到新的BufferedImage
中,然后才能使用ImageIO将其保存。使用API方法创建缩略图,Scalr.resize("your arguments") 是最好的选择。同时,thumbnailator 也是一个选项,你不必浪费太多时间去理解,只需调用相应的方法,就能获得所需的缩略图。从性能和质量方面来说,Scalr 是最佳选择。而从质量方面来看,thumbnailator 只是可以。
有jmagick,它是流行的ImageMagick框架的Java实现。
我已经检查了他的网站,没有提到许可证。这可能会带来麻烦。至少在我居住的意大利,如果没有明确的许可,你不能使用不属于你的作品。
我建议阅读这个问题:Open source Java library to produce webpage thumbnails server-side