什么是最好的Java图像处理库/方法? [关闭]

问题

我正在使用JAI媒体api和ImageMagick?

ImageMagick有一些可扩展性问题,基于JNI的JMagick也没有吸引力。与ImageMagick相比,JAI在进行大小调整操作时效果不佳。

有没有人知道任何优秀的工具,无论是开源还是商业本土java并提供高质量的结果?


#1 热门回答(125 赞)

我知道这个问题很老了,但随着新软件的出现,它确实有助于获得一些可能对人们感兴趣的项目的新链接。

imgscalr是纯Java图像大小调整(以及简单的操作,如填充,裁剪,旋转,变亮/调光等)库painfully simple使用 - 单个类包含一组简单的图形操作,所有这些操作都定义为asstatic方法,你传递图像并获取回来一个结果。

使用该库的最基本示例如下所示:

BufferedImage thumbnail = Scalr.resize(image, 150);

使用一些质量调整等生成图像缩略图的更典型用法可能如下所示:

import static org.imgscalr.Scalr.*;

public static BufferedImage createThumbnail(BufferedImage img) {
    // Create quickly, then smooth and brighten it.
    img = resize(img, Method.SPEED, 125, OP_ANTIALIAS, OP_BRIGHTER);

    // Let's add a little border before we return result.
    return pad(img, 4);
}

所有图像处理操作都使用原始Java2D管道(在主要平台上加速硬件),并且不会引入通过JNI调用代码中的库争用的痛苦。

imgscalr也被部署在quite a few places的大规模制作中 - 包含AsyncScalr class使其成为任何服务器端图像处理的完美插件。

你可以使用最高ULTRA_QUALITY模式对图像质量进行大量调整,以便在速度和质量之间进行权衡,从而提供比GIMP的Lancoz3实现更好的缩放结果。


#2 热门回答(81 赞)

有9229452758,自称是

世界上最快的纯Java图像处理程序

它可以在另一个应用程序中用作库。它的架构并不精彩,但它可以完成基本的图像处理任务。


#3 热门回答(27 赞)

另一个不错的选择:Marvin