文档章节

Node.js 服务端处理图片

o
 osc_g8254g7s
发布于 2019/08/19 16:49
字数 290
阅读 29
收藏 0

精选30+云产品,助力企业轻松上云!>>>

Node 服务端处理图片

服务端进行图片处理是很常见的需求,但是Node在这一块相对来说比较薄弱。找了几个比较常见的模块来解决问题。

gm

GraphicsMagick for node

  • 使用OpenMP进行多线程图片处理,增强了通过扩展CPU提高处理能力。
  • 支持大图片的处理,并且已经做过GB级别的图像处理实验。
  • 能够动态的生成图片,特别适用于互联网的应用。

GraphicsMagick 是一个专注于提供图片处理工具的库集合,它是从 ImageMagick 5.5.2 分支出来。更为精简和效率。

安装

安装GraphicsMagick或者是ImageMagick

mac用户可以通过 brew 安装。

brew install graphicsmagick
# or
brew install graphicsmagick

npm install gm

项目中引入

npm install gm
const gm = require('gm')

使用

gm 的功能很强大这里做个简单的例子,给头像加个徽章。

const fs = require("fs");
const gm = require("gm");

gm("../assests/images/avatar.jpg")
  .resize(50, 50)
  .font("../assests/font/font.ttc")
  .fontSize(12)
  .fill("#ffffff")
  .drawText(0, 38, "注册会员")
  .write("../assests/images/output.png", function(err) {
    if (!err) console.log("done");
  });

效果

处理前


处理后

node-images

参考资料

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Node.js

Node.js中文手册 http://www.nodecn.org 使用Node.js处理图片 http://www.jasontconnell.com/comment/image-processing-with-nodejs Node.js streams 介绍 http://jspro.com/nodejs/introduc......

猪刚烈
2014/09/24
36
0
一篇文章让你轻松上手Node

文章目录 一 、了解Node 二、Node中的核心模块 三、Node中的自定义模块 四、Node中读写文件的基本操作 五、使用node轻松搭建一个简单的Web服务器 一 、了解Node 1、什么是Node.js Node.js不是...

前端coder
05/24
0
0
RabbitMQ高级特性消费端限流策略实现

应用范围为服务访问量突然剧增,原因可能有多种外部的调用或内部的一些问题导致消息积压,对服务的访问超过服务所能处理的最大峰值,导致系统超时负载从而崩溃。 业务场景 举一些我们平常生活...

五月君
2019/05/26
45
0
微信小程序推广二维码海报Node.js实现版

引言 最近公司的微信小程序项目由于业务需求需要实现二维码推广海报,而小程序的服务端代码是用node.js实现的,由于是第一次使用node.js作为服务端来实现图片的相关处理,不免走了一些坑。所...

黄晋
2018/12/04
0
0
【灵魂拷问】你为什么要来学习Node.js呢?

【灵魂拷问】你为什么要来学习Node.js呢? 学习node.js适合的人群: 需要必备一些HTML,CSS,JavaScript及编程有一定程度了解的读者阅读,一些简单的命令行操作,具备服务端开发经验更好。 ...

达达前端小酒馆
2019/12/20
20
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 那么长的绳子,你这是放风筝呢

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @ 巴拉迪维:黑豹乐队的单曲《无地自容》 耳畔突然响起旋律,是那首老歌。中国摇滚有了《一无所有》不再一无所有;中国摇滚有了《无地自容》不...

小小编辑
43分钟前
45
1
《吐血整理》-顶级程序员书单集

你知道的越多,你不知道的越多 给岁月以文明,而不是给文明以岁月 前言 王潇:格局决定了一个人的梦想,梦想反过来决定行为。 那格局是什么呢? 格局是你能够看见的深度、广度和密度。 王潇认...

敖丙
2019/12/11
8
0
我可以在Android版式中加下划线吗? - Can I underline text in an Android layout?

问题: 如何在Android布局xml文件中定义带下划线的文本? 解决方案: 参考一: https://stackoom.com/question/A31z/我可以在Android版式中加下划线吗 参考二: https://oldbug.net/q/A31z/...

法国红酒甜
46分钟前
18
0
干掉ELK | 使用Prometheus+Grafana搭建监控平台

什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。 Prometheus的特点 · 多维度...

木九天
今天
34
0
拉勾网拉你上勾

预览 需求简介 拉勾网是一个互联网行业的一个招聘网站,上面有许多职位,于是乎,小编想提取指定职位的基本信息(职位名,薪水,工作经验,工作地点,教育背景),然后插入 MongoDB 数据库,...

木下瞳
2019/04/17
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部