imglib 一个轻量级的 JAVA 图像处理库,立足于简化对图像的常见处理

mybooks1年前 ⋅ 3929 阅读

https://github.com/nackily/imglib

轻量级的 JAVA 图像处理库

同 Thumbnailator 一样,imglib 为开发者屏蔽了复杂的 I/O 操作,以及无需再通过 Graphics2D 对象来手动操作图像,imglib 已经替您完成了 所有这些工作。imglib 的链式 API 使得你可以将一个复杂的图像处理任务逐步的配置并执行。

例如,为用户创建一个 hash 图像,头像点阵设定为 8px*8px,头像大小为 300px*300px,并增加一个边距为 20px 的边框。该图像生成任务,可以通过 以下操作完成:

ImagePipes.ofEmptySource()
        .register(new HashImageGenerator.Builder("Tracy")       // hash 图像生成器
                .gridVerticalNum(8)                             // 水平方向的点阵数量
                .bgColor(ColorUtils.of(240, 240, 240))          // 背景色
                .fgColor(ColorUtils.of(50, 150, 50))            // 前景色
                .build())   
        .toThumbnails()                                         // 转换为 Thumbnails
        .addFilter(new HighQualityExpandHandler.Builder()       // 图像无损放大处理器
                .finalWidth(300)                                // 图像的宽度
                .keepAspectRatio(true)                          // 保持长宽比例
                .build())   
        .addFilter(new BorderHandler.Builder()                  // 边框处理器
                .fillColor(ColorUtils.of(200, 200, 200))        // 边框填充色
                .vMargins(20)                                   // 垂直方向的边距
                .hMargins(20)                                   // 水平方向的边距
                .build())
        .scale(1.0)
        .toFile(".../avatar.png");

执行上面的代码片段,我们将得到如下的用户头像。

https://github.com/nackily/imglib/blob/master/docs/Examples.md     // 更多的 examples

挺实用的,不过例子有点少啊

thumbnailator 我很喜欢用,以前经常用于生成缩略图

全部评论: 0

    相关推荐