Node.js 服务端处理图片

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");
  });

效果



参考资料

原文地址:https://www.cnblogs.com/oasis-cuke/p/11378067.html

时间: 2024-10-10 21:06:17

Node.js 服务端处理图片的相关文章

nuxt.js 服务端部署

这次 nuxt.js 服务端部署以docker为基础部署,这样解决以下这些问题: 1.  服务器里一般不搭建运行环境,可以直接以docker里的为环境,统一部署,而不用再次搭建运行环境 2. 常常出现本地没问题,到了服务端上部署时一堆错误,本地和服务器统一用docker里的环境打包部署,解决npm install,npm build等部署出现的错误,方便快捷 一.开始部署 准备如下项目 nuxt为需要部署的nuxt.js项目,名称随意,但需要和yml文件里的对应 nuxt-compose.yml

Nuxt.js服务端渲染实践,从开发到部署

感悟 经过几个周六周日的尝试,终于解决了服务端渲染中的常见问题,也成功说服了公司新项目采用前后端分离的解决方案,当SEO不在是问题的时候,或许才是我们搞前端的真正的春天,其中也遇到了一些小坑,Nuxt.js官方还是很给力的,提issue后很积极的给予帮助,再次感谢Nuxt.js的开发团队. 解决的问题 路由鉴权 第一个拦路虎就是登陆时候的鉴权问题,如何把token保存到本地.官方使用express-session解决这个问题,但是这样做后端也需要使用nodejs,而我们公司使用的PHP.转念一想

nginx使用反向代理支持node.js服务

前言 Node.js自身能作为web服务器用,但是如果要在一台机器上开启多个Node.js应用该如何做呢?有一种答案就是使用nginx做反向代理.反向代理在这里的作用就是,当代理服务器接收到请求,将请求转发到目的服务器,然后获取数据后返回. 步骤 一.正常使用node.js开启web服务 var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Co

vue+vux 仿飞猪app火车票部分(五)---城市列表保存到MongoDB数据库并且启用node.js服务

把车站列表保存到数据库,并且从本地创建服务 node.js创建httpserver 1.搭建基于express的运行环境 全局安装express-gengerator cnpm install -g express-gengerator 2.创建express项目,创建了本地服务 express server 生成server目录,目录下的bin是可执行文件,运行bin下的www文件启动服务 node server/bin/www 启动成功打开浏览器localhost:3000 server下的

JS服务端系列-一起学nodejs(一)

无环境,不编程! nodejs如何安装 http://my.oschina.net/u/2352644/blog/487488 (win下) 我的学习网址,在学习网址的教程基础上去跟着学习和思考延伸 http://www.nodebeginner.org/index-zh-cn.html nodejs的社区 https://cnodejs.org/ 一.helloworld显示 我们是时候走出第一步了,利用nodejs, 我们创建helloworld.js文件,写上代码如下: console.l

Node.js(转) -- 临时来说还看不懂!

转自:http://blog.jobbole.com/53736/ 本文由 伯乐在线 - Lellansin 翻译.未经许可,禁止转载!英文出处:toptal.欢迎加入翻译组. 介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样,现在我们也可以在服务器上运行 JavaScript ,从前端跨越到后端,这样巨大的反差让人难以想象,因为仅仅在几年前 Javascript 还如同 Flash 或者 Java applet 那样

Node.js 使用http客户端向网站请求数据并保存

app.js代码: // 内置http模块,提供了http服务器和客户端功能 var http=require("http"); // 内置文件处理模块 var fs=require('fs'); // 创建一个将流数据写入文件的WriteStream对象 var outstream=fs.createWriteStream('./retval.html'); // 请求参数JSON var options={ hostname:'www.cnblogs.com',// 这里别加htt

[转]为什么我要用 Node.js? 案例逐一介绍

原文地址:http://blog.jobbole.com/53736/ 介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样,现在我们也可以在服务器上运行 JavaScript ,从前端跨越到后端,这样巨大的反差让人难以想象,因为仅仅在几年前 Javascript 还如同 Flash 或者 Java applet 那样嵌入网页在沙箱环境中运行. 在深入Node.js之前,你可能需要阅读和了解使用跨栈式JavaScript(

Node.js具体解析

介绍 JavaScript 高涨的人气带来了非常多变化.以至于现在使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样,现在我们也能够在server上执行 JavaScript ,从前端跨越到后端,这样巨大的反差让人难以想象.由于只在几年前 Javascript 还如同 Flash 或者 Java applet 那样嵌入网页在沙箱环境中执行. 在深入Node.js之前.你可能须要阅读和了解使用跨栈式JavaScript(JavaScript across the stack)带来的优点