一尘不染

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

java

什么是最好的Java图像处理库/方法?[关闭]我同时使用JAI媒体API和ImageMagick吗?

ImageMagick存在一些可伸缩性问题,基于JNI的JMagick也没有吸引力。与ImageMagick相比,JAI执行大小调整操作时的质量结果较差。

有谁知道过任何出色的开源或商业工具,它们都是本机Java并可以提供高质量的结果?


阅读 406

收藏
2020-03-08

共1个答案

一尘不染

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

imgscalr是纯Java图像大小调整(以及简单的操作,如填充,裁剪,旋转,变亮/变暗等),使用起来非常简单-单个类由一组简单的图形操作组成,这些操作均定义为静态方法,你传递图像并返回结果。

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

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也已在许多地方大规模生产中使用-包含AsyncScalr类使其成为任何服务器端图像处理的理想选择。

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

2020-03-08