java scalr_图片缩放“最佳实践”类库:imgscalr

imgscalr是一个简单高效的Java图片缩放类库,由Java 2D团队主导,采用Apache 2协议发布。它解决了Java快速调整图像时系统类库多、更迭替代、性能低等问题,具有无需本地库、可硬件加速、速度快且使用简单等优点,还支持Web应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

imgscalr 是一个对图片进行缩放的java类库。

09ff2986d407b778c02bcfabc3b7ea7a.png

简介

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图形库.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值