最佳图像缩放库

Muk*_*kun 11 java image-processing image-resizing

我搜索并找到了一些Java的图像缩放库.但不确定与哪一个相关.我需要从服务器上传的图像生成缩略图.

如果你能分辨哪一个好坏,那就太好了.

我的清单是:

  • JMagick
  • im4java
  • Thumbnailator
  • Java的图像缩放
  • JAI

Jon*_*nik 8

对于我的简单需求,Thumbnailator是完美的.小lib; 流畅,干净,文档齐全的API.

在我的情况下,它只是"net.coobird" % "thumbnailator" % "0.4.8"依赖和:

//..
Thumbnails.of(originalFile)
      .size(300, 300) 
      .toFile(thumbnailFile)
//.. 
Run Code Online (Sandbox Code Playgroud)

完成了.基本上它是Java 2D API之上的友好包装器.对特定(缩略图)需求有用; 没有学习曲线.


除非你真的需要对图像做一些繁重的工作,否则我要警惕依赖外部二进制文件(ImageMagick和JMagick之类的包装器),这会增加复杂性并将部件移动到设置中.特别是如果你的堆栈类似于我的:在Heroku上运行的Scala/Java应用程序.有这样的东西heroku-buildpack-imagemagick-cedar-14,是的,但与应用程序捆绑在一起的简单依赖是无限清洁.


小智 6

如果您需要高质量的缩略图,则生成缩略图的Java API不够好.

要生成高质量的缩略图,请使用与您列出的框架类似的框架.我尝试过ImgScalr(https://github.com/thebuzzmedia/imgscalr)和Thumbnailator.使用我的微基准测试(不能真正用于通用结论)Thumbnailator更快 - 虽然不是很多,而且更容易 - 特别是在生成透明度的缩略图时.

我也尝试了JMagick但遇到问题只是编译代码并设置它.还有点担心稍后会遇到一个框架,其基本代码是用我根本不懂的语言编写的--C.

您可能还会在此处找到有用的讨论:如何使用Java调整图像大小?


bel*_*her 5

在我的私人项目中,我不使用任何特定的库,为 Java 提供的功能为我提供了不错的结果。如果你只想做图像缩放,那么一个完整的图像处理库就太重量级了。

我使用http://www.mkyong.com/java/how-to-resize-an-image-in-java/中给出的代码片段,效果很好。