前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小智周末学习发现了 10 个好用JavaScript图像处理库

小智周末学习发现了 10 个好用JavaScript图像处理库

作者头像
前端小智@大迁世界
发布2020-06-18 17:47:41
2.2K0
发布2020-06-18 17:47:41
举报
文章被收录于专栏:终身学习者终身学习者
clipboard.png
clipboard.png

本文已经作者授权

用 JavaScript 处理图像可能非常困难且繁琐。 幸运的是,有许多库可以让这些变得简单得多。 下面介绍一些图像处理的库。

1. Pica

事例地址:http://nodeca.github.io/pica/demo/ Github: https://github.com/nodeca/pica

pica 可在浏览器上实现高质量而且高性能的图片大小调整JS库,目标是在浏览器中以最快的速度进行高品质图像缩放。它会从web-workersweb assembly,createImageBitmap和纯JS中自动选择最佳的可用技术。

Pica是一个执行数学计算的底层开发库,尽可能地减少了封装带来的影响。如果对二进制图像进行缩放,需要先加载到canvas(再保存为blob)。

clipboard.png
clipboard.png

2. Lena.js

事例地址:https://fellipe.com/demos/lena-js/

用法讲解:https://ourcodeworld.com/articles/read/515/how-to-add-image-filters-photo-effects-to-images-in-the-browser-with-javascript-using-lena-js

Github: https://github.com/davidsonfellipe/lena.js

该库主要为图片添加过滤器。

clipboard.png
clipboard.png

3. Compressor.js

事例地址:https://fengyuanchen.github.io/compressorjs/ Github: https://github.com/fengyuanchen/compressorjs

Compressor.js 一个JavaScript图像压缩器。 使用浏览器的原生canvas.toBlob API来执行压缩工作,这意味着它是有损压缩。 一般使用此方法在客户端上传图像文件之前对其进行预压缩。

clipboard.png
clipboard.png

4. Fabric.js

事例地址:http://fabricjs.com/ 事例讲解:http://fabricjs.com/articles/ Github: https://github.com/fabricjs/fabric.js

Fabric是一个强大而简单的JS Canvas库,我们能通过使用它实现在Canvas上创建、填充图形、给图形填充渐变颜色。 组合图形(包括组合图形、图形文字、图片等)等一系列功能。简单来说我们可以通过使用Fabric从而以较为简单的方式实现较为复杂的Canvas功能

还可以使用Fabric.js库更改这些对象的某些属性,例如它们的颜色,透明度,网页上的深度位置,或选择这些对象的组。 Fabric.js还可以将 SVG 图像转换为 JavaScript数据,该数据可用于将其放入<canvas>元素。

clipboard.png
clipboard.png

5. Blurify

blurify.js是一款小巧实用的js图片模糊效果插件。使用该js插件可以将任意图片进行模糊处理。

事例地址:https://justclear.github.io/blurify/ Github: https://github.com/JustClear/blurify

clipboard.png
clipboard.png

6.合并图像

Github: https://github.com/lukechilds/merge-images

该库使可以轻松地将图像合成在一起。有时,使用画布可能会有些繁琐,特别是如果你只需要画布上下文来做相对简单的事情(例如将一些图像合并在一起)时。

merge-images将所有重复性任务抽象为一个简单的函数调用。图像可以彼此重叠并重新放置。该函数返回一个Promise,该Promise解析为base64数据URI。同时支持浏览器和Node.js

clipboard.png
clipboard.png

7. Cropper.js

事例地址:https://fengyuanchen.github.io/cropperjs/ Github: https://github.com/fengyuanchen/cropperjs

cropperjs是一款非常强大却又简单的图片裁剪工具,它可以进行非常灵活的配置,支持手机端使用,支持包括IE9以上的现代浏览器。

clipboard.png
clipboard.png

8. CamanJS

事例地址:http://camanjs.com/examples/

Github: https://github.com/meltingice/CamanJS/

CamanJS 是一个基于 Canvas 处理图片的 Javascript 库,结合简单易用的接口和先进高效的图像编辑技术。CamanJS 很容易扩展新的过滤器和插件,并伴随着一系列广泛的图像编辑功能。它是完全独立的库,支持工作在 NodeJS 和浏览器。

clipboard.png
clipboard.png

9. MarvinJ

官网:https://www.marvinj.org/en/index.html Github: https://github.com/gabrielarchanjo/marvinj

MarvinJ是从 Marvin Framework 派生的纯 JavaScript 图像处理框架。 MarvinJ 对于许多不同的图像处理应用程序而言既简单又强大。

Marvin 提供了许多算法来操纵颜色和外观。 Marvin 还可以自动检测功能。 使用基本图像功能(如边缘,拐角和形状)的能力是图像处理的基础。 该插件有助于检测和分析对象的角点,从而确定场景中主要对象的位置。 由于这些原因,可以自动裁剪出对象。

clipboard.png
clipboard.png

10. Grade

事例地址:https://benhowdle89.github.io/grade/

Github: https://github.com/benhowdle89/grade

grade.js是一款可以根据图片的两种主要颜色生成背景渐变的JS插件。它的原理是提取图片的两种主要颜色,然后使用这两种颜色为渐变的开始和结束颜色,应用在图片容器上。

clipboard.png
clipboard.png
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Pica
  • 2. Lena.js
  • 3. Compressor.js
  • 4. Fabric.js
  • 5. Blurify
  • 6.合并图像
  • 7. Cropper.js
  • 8. CamanJS
  • 9. MarvinJ
  • 10. Grade
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档