Node-gm

Node.js 图像处理包
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 Node.js 扩展
软件类型 开源软件
地区 不详
投 递 者 章越
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

gm 是 Node.js 的 GraphicsMagickImageMagick

常规使用:

var fs = require('fs')
  , gm = require('./gm');

// resize and remove EXIF profile data
gm('/path/to/my/img.jpg')
.resize(240, 240)
.noProfile()
.write('/path/to/resize.png', function (err) {
  if (!err) console.log('done');
});

// obtain the size of an image
gm('/path/to/my/img.jpg')
.size(function (err, size) {
  if (!err)
    console.log(size.width > size.height ? 'wider' : 'taller than you');
});

// output all available image properties
gm('/path/to/img.png')
.identify(function (err, data) {
  if (!err) console.log(data)
});

// pull out the first frame of an animated gif and save as png
gm('/path/to/animated.gif[0]')
.write('/path/to/firstframe.png', function (err) {
  if (err) console.log('aaw, shucks');
});

// auto-orient an image
gm('/path/to/img.jpg')
.autoOrient()
.write('/path/to/oriented.jpg', function (err) {
  if (err) ...
})

// crazytown
gm('/path/to/my/img.jpg')
.flip()
.magnify()
.rotate('green', 45)
.blur(7, 3)
.crop(300, 300, 150, 130)
.edge(3)
.write('/path/to/crazy.jpg', function (err) {
  if (!err) console.log('crazytown has arrived');
})

// annotate an image
gm('/path/to/my/img.jpg')
.stroke("#ffffff")
.drawCircle(10, 10, 20, 10)
.font("Helvetica.ttf", 12)
.drawText(30, 20, "GMagick!")
.write("/path/to/drawing.png", function (err) {
  if (!err) console.log('done');
});

// creating an image
gm(200, 400, "#ddff99f3")
.drawText(10, 50, "from scratch")
.write("/path/to/brandNewImg.jpg", function (err) {
  // ...
});

 

  • 在做H5应用中,有时候会涉及到一些图片加工处理的操作,nodejs有一个很好的后台图片处理module,就是这里说的gm。gm有官方文档,但感觉写得太抽象,反而看不懂了。这里把一些常见的用法写下,供大家参考。 安装 首先要安装 GraphicsMagick或者ImageMagick,然后 npm install --save gm 用法说明 图片尺寸 gm('img.png') .size(fun

  • 前言 哈喽小伙伴们,今天带领大家初识一下NPM;让我们一起来看看吧 NPM使用 Node Package Manager 简称NPM,是Node.js的包管理器。Node本身提供了一些基本API模块,但是这些基本模块难以满足开发者需求。Node需要通过使用NPM来管理开发者自我研发的一些模块,并使其能够共用与其他开发者。简单来说,NPM就是Node.js的包管理器。 NPM使用场景 允许用户从NP

  • 众所周知node.js的各种图形库在windows安装都比较麻烦,无奈用的windows开发机,将这次踩坑记录下来. 主要想自己实现node.js生成图形验证码和在图片上签名文字,这就需要用到图形库,最终选型gm。 windows下需要下载安装  GraphicsMagick 同时安装 ImageMagick  网上大部分教程说的是只安装这两个的其中一个即可,实际是在windows两个都要安装,这

  • 有一个需求, 需要一张海报在微信传播. 海报中有用户唯一的二维码, 意思是, 通过这个二维码打开的网址就能识别来源, 海报还有用户的微信头像. 在前端显示为一张图片, 微信中长按才能唤醒二维码识别.  整理一下需求, 要做的事有: 1, 从微信获取用户头像. 2, 从小程序接口获取小程序码, 每个小程序码不一样.  3, 把用户头像和小程序码画到图片上. 开始考虑在前端生成海报, 使用 canva

  • 一、使用nvm管理node和npm版本: 1.下载nvm包,地址:https://github.com/coreybutler/nvm-windows/releases,选择第一个:nvm-noinstall.zip 下载完成后解压到任意一个地方,比如:D:\node\nvm, 里面的文件列表是这样的:elevate.cmd、elevate.vbs、install.cmd、LICENSE、nvm.

  • 一、包的概念 包 package CommonJS的包规范允许我们***将一组相关的模块组合到一起***,形成一组完整的工具。CommonJS的包规范由包结构和包描述文件两个部分组成。 包结构:用于组织包中的各种文件。 包描述文件 :描述包的相关信息。 包实际上就是一个压缩文件,解压以后还原为目录。符合规范的目录,应该包含如下文件: -package.json 描述文件 相当于包的简历 位于包

  • npm是什么? npm是nodejs自带的包(插件管理器) npm的初始用法 1.npm init 初始化项目 创建package.json项目配置文件 2.npm init -y 初始化项目 (-y的含义 请求皆yes )(第一条的快捷方式) 3.查看版本 npm -v npm安装源 命令:npm config set registry 地址:http://registry.npm.taobao

  • 解决方法 安装ImageMagick。 注意:gm不能直接绘制中文,需要在绘制的时候引入字体库。 var gm = require('gm'); //这是最重要的 var imageMagick = gm.subClass({ imageMagick: true }); //path:图片所在路径 imageMagick (path) .font('./fonts/hei.ttf')

 相关资料
  • 大多数图像处理和操作技术可以使用两个库进行有效的处理:Python Imaging Library (PIL) 和 OpenSource Computer Vision (OpenCV)。 下面来简单介绍一下这两个库。 Python 图像库 Python 图像库, 全称为 Python Imaging Library,简称PIL,是Python图像操作的核心库之一。遗憾的是,PIL 的开发工作已经

  • Tensorflow封装了很多图像处理的操作,包括读取图像、图像处理、写图像到文件等等。在批量处理图像时,Tensorflow要求所有的图像都要有相同的Size,即$$(height,width,channels)$$。 读取图像 %matplotlib inline import tensorflow as tf import numpy as np #mil.use('svg') mil.us

  • 安装扩展 使用Composer安装ThinkPHP5的图像处理类库: composer require topthink/think-image 图像操作 下面来看下图像操作类的基础方法。 打开图像文件 假设当前入口文件目录下面有一个image.png文件,如图所示: 使用open方法打开图像文件进行相关操作: $image = \think\Image::open('./image.png');

  • 主要内容:GD 库PHP 提供了丰富的图像处理函数,主要包括: 函数 描述 gd_info() 取得当前安装的 GD 库的信息 getimagesize() 获取图像信息 getimagesizefromstring() 获取图像信息 image_type_to_extension() 获取图片后缀 image_type_to_mime_type() 返回图像的 MIME 类型 image2wbmp() 输出WBM

  • Matplotlib 软件包中的 模块提供了加载、缩放和显示图像的功能,该模块只能支持 PNG 格式的图片,如果格式不符,需要对图片的格式进行转换。 Matplotlib 支持的图片格式非常有限,所以通常情况下,建议采用 Python 图像处理库 Pillow 来处理图像,若感兴趣可以自行了解。 下面示例,imread() 函数用于读取图像数据并形成 ndarray 数组 ,其数据类型为 floa

  • 缩略图功能 通过http请求获取缩略图 在GET请求参数中添加thumb=1&w=${IMAGE_WIDTH}&h=${HEIGHT} 例子: 原图地址: https://cdn.cnbj0.fds.api.mi-img.com/fds-demo/mi5.jpg 缩放为100x200: https://cdn.cnbj0.fds.api.mi-img.com/fds-demo/mi5.jpg?th

  • CodeIgniter 的图像处理类可以使你完成以下的操作: 调整图像大小 创建缩略图 图像裁剪 图像旋转 添加图像水印 可以很好的支持三个主流的图像库:GD/GD2, NetPBM, 和 ImageMagick。 注意: 添加水印操作仅仅在使用GD/GD2时可用。另外,即使支持其他的图像处理库,但是为了计算图像的属性,GD是必需的。然而,将使用你制定的库来进行图像处理操作。 初始化类 像 Cod

  • CodeIgniter 的图像处理类可以使你完成以下的操作: 调整图像大小 创建缩略图 图像裁剪 图像旋转 添加图像水印 可以很好的支持三个主流的图像库:GD/GD2、NetPBM 和 ImageMagick 。 注解 添加水印操作仅仅在使用 GD/GD2 时可用。另外,即使支持其他的图像处理库, 但是为了计算图像的属性,GD 仍是必需的。然而在进行图像处理操作时, 还是会使用你指定的库。 初始化