首頁 > web前端 > js教程 > node.js gm是什麼

node.js gm是什麼

青灯夜游
發布: 2022-07-12 18:29:22
原創
3849 人瀏覽過

gm是基於node.js的圖片處理插件,它封裝了圖片處理工具GraphicsMagick(GM)和ImageMagick(IM),可使用spawn的方式呼叫。 gm插件不是node預設安裝的,需執行「npm install gm -S」進行安裝才可使用。

node.js gm是什麼

本教學操作環境:windows7系統、nodejs16版,DELL G3電腦。

gm是什麼

nodejs圖片處理工具的外掛程式--gm,它封裝了GraphicsMagick(GM)和ImageMagick(IM),它使用spawn的方式來呼叫。

GraphicsMagick(GM) 或 ImageMagick(IM)是兩種常用的圖片處理工具,功能基本上相同,GM是IM的分支。

nodejs圖片處理工具gm的使用

前置軟體安裝

#安裝GraphicsMagick或ImageMagick

(gm外掛程式支援的IM軟體是imagemagickv7.0.X.XX版本,如果下載的IM版本為7.1.x,gm呼叫不會成功,目前官方提供的版本為7.1 .x),7.0.x下載網址http://m.downcc.com/d/398765。

在安裝時,安裝ImageMagick時一定要選擇畫框的部分(gm外掛程式呼叫的是convert指令)

node.js gm是什麼

安裝gm

npm install gm -S
登入後複製

添加水印

使用gm主要還是用來添加水印,因為nodejs本身自帶的image模組能滿足大部分需求,但是無法添加水印,所以下面就使用gm添加浮水印的方法。

  • 載入gm模組

const gm = require('gm').subClass({imageMagick: true})
登入後複製
  • #指定圖片新增文字

  • ##
    gm(./uploads/pic/test.jpg)	//指定添加水印的图片
    	.stroke("white")		//字体外围颜色
        .fill("white")			//字体内围颜色(不设置默认为黑色)
        .drawText(50,50,"China")
        .write(./uploads/pic/watermark.jpg, function (err) {
                console.log(err)
                if (!err) console.log('ok');
                else console.log(err);
            });
    登入後複製

node.js gm是什麼

  • 新增中文字體

  • .font("./ttf/msyh.ttf",60) //字库所在文件夹和字体大小
    登入後複製
    gm(./uploads/pic/test.jpg)	//指定添加水印的图片
    	.stroke("white")		//字体外围颜色
        .fill("white")			//字体内围颜色(不设置默认为黑色)
        .font("./ttf/msyh.ttf",60) //字库所在文件夹和字体大小
        .drawText(50,50,"中文China")
        .write(./uploads/pic/watermark.jpg, function (err) {
                console.log(err)
                if (!err) console.log('ok');
                else console.log(err);
            });
    登入後複製

node.js gm是什麼

  • 新增日期水印

下載moment模組

npm install moment
登入後複製

載入模組

const moment = require('moment');
登入後複製

呼叫

var datetime = moment().format("YYYY-MM-DD HH:mm:ss");
gm(./uploads/pic/test.jpg)	//指定添加水印的图片
	.stroke("white")		//字体外围颜色
    .fill("white")			//字体内围颜色(不设置默认为黑色)
    .font("./ttf/msyh.ttf",60) //字库所在文件夹和字体大小
    .drawText(50,50,datetime)
    .write(./uploads/pic/watermark.jpg, function (err) {
            console.log(err)
            if (!err) console.log('ok');
            else console.log(err);
        });
登入後複製

node.js gm是什麼

更多node相關知識,請造訪:

nodejs 教學

以上是node.js gm是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板