imgscalr 是一个对图片进行缩放的 java 类库。
简介
imgscalr 是一个简单高效(硬件加速)的图片缩放“最佳实践”类库,纯 Java 2D 实现。随着4.0版本的发布,操作图片变得十分容易,都可以使用 resize 进行操作。
这个类库由 Java 2D 团队主导,提供了在大多数平台基于硬件加速的高效 Java 2D 缩放技术。
该库还实现了由 Chris CAMpbell 提出的优化增量缩放算法,使得生成缩略图变得好看、快速。
许可证
采用Apache 2协议发布。
解决问题
在使用 Java 快速调整图像时,可能会遇到下列问题:
系统类库过多:Image.getScaledInstance()、Graphics.drawImage()、Graphics2D.drawImage(…)、BufferImageOps、AffiNETransforms、Java Advanced Imaging API 等都可以去调用,但是对性能、支持功能不够明确。
系统内部类库的更迭替代
性能较低
不能兼顾效果与性能
imgscalar 解决了所有问题。
好处
100%基于 Java 2D,没有安装任何本地库
不需要设置特殊的环境变量
由于没有使用本地库,降低虚拟机崩溃或者多线程风险
在支持的平台上启用硬件加速(使用优化Java2D的渲染通道)
速度快:虽然比不上c,但还是很快。
简单:只需要调用少数静态方法。没有复杂的配置、管理、编码/解码、imgscalr不是图形库,它是一组最常用的图形操作。
使用
最简单的用例只需要调用两个参数的方法:
1BufferedImage thumbnail = Scalr.resize(image, 150);
通过上述例子,将一张图片按比例缩放为长,宽都不超过150的图片。
另外,如果想对图像缩放做一些更精细的控制,如使用质量和轻型抗混叠滤波器,我们的方法调用会是这个样子:
3BufferedImage thumbnail =
Scalr.resize(image, Scalr.Method.SPEED, Scalr.Mode.FIT_TO_WIDTH,
150, 100, Scalr.OP_ANTIALIAS);
值得一提的有几个方法和模型的枚举都在Scalr类中定义。这些枚举连同所有 resize 方法.
目标
这个库的目的是为开发人员需要迅速调整或处理图像(使用本地Java提供了正确的或最优化方法)。
imgscalr 是通用的,可以任何平台上提供其使用基本的Java2D类。imgscalar 同样也为web应用提供了支持,例如可以上传更大的图片及生成数以千计的缩略图或预览。
这个库并不意味着像JAI一样全面的Java图形库.
¥29.00
¥299.00
¥399.00
¥498.00