下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

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

作者:课课家教育     来源: http://www.kokojia.com点击数:1350发布时间: 2016-01-22 10:31:52

标签: java类库java图片Java

大神带你学编程,欢迎选课

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

java 图像缩放类库 imgscalr_java类库_java图片_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图形库.


赞(28)
踩(1)
分享到:
华为认证网络工程师 HCIE直播课视频教程