聊聊Nodejs怎麼用gm和imageMagick來處理圖片
Nodejs怎麼處理圖片?以下這篇文章跟大家介紹一下Nodejs使用gm和imageMagick處理圖片的方法,希望對大家有幫助!
最近我在用JS做好玩兒的事情,需要處理圖片。網路上很多教程,各種方法五花八門,某些方法不一定行的通。本文給你分享一個被作者驗證能用的方法,使用NodeJS處理圖片。
安裝依賴
npm i gm
gm是一個Node庫,提供了一些JS API,讓開發者可以處理圖片。但是它底層依賴了GraphicsMagick、要嘛或ImageMagick。其實gm就是呼叫那兩個工具的命令列。
也就是說,除了安裝gm,我們還需要安裝要嘛GraphicsMagick、要嘛ImageMagick。
ImageMagick
作者是MacOS,直接選擇了安裝ImageMagick。
依照官網指令,只需要1行程式碼(前提是你已經在Mac上安裝了brew):
brew install imagemagick --with-webp
介紹一下參數--with-webp
,你是可以刪掉的,但如果你希望處理webp格式的圖片,一定要再加上。
用brew比較方便,自己不用擔心環境變數了。
GraphicsMagick
當然,如果不用ImageMagick,想用GraphicsMagick也是完全可以的:
brew install graphicsmagick
引用gm
一開始我選擇了安裝ImageMagick,這麼寫,總是報錯:
const gm = require('gm'); gm('图片文件路径').crop(width, height, 0, 0).resize(width2, height2).quality(quality).write('输出文件路径', function (err) { if (err) { return console.log(err); } else { console.log('success'); } });
如果要用ImageMagick,上面寫法其實是不對的,應該這樣寫,明確指定我要用ImageMagick
工具:
const g = require('gm'); const gm = g.subClass({imageMagick: true}); gm('图片文件路径').crop(width, height, 0, 0).resize(width2, height2).quality(quality).write('输出文件路径', function (err) { if (err) { return console.log(err); } else { console.log('success'); } });
其它功能
記錄gm的常用功能,供大家備忘:
注意:gm是可以鍊式呼叫的,寫起來很爽,從gm(filename)讀取圖片文件,一層一層處理,最後寫入檔案.write(filename, callback)。
縮放圖片
#.resize(width, height)
裁切圖片
.crop(width, height, x, y)
##旋轉圖片
.rotate(color, deg)
nodejs 教程!
以上是聊聊Nodejs怎麼用gm和imageMagick來處理圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

nvm刪除node的方法:1、下載「nvm-setup.zip」並將其安裝在C碟;2、設定環境變量,並透過「nvm -v」指令查看版本號;3、使用「nvm install」指令安裝node;4、透過「nvm uninstall」指令刪除已安裝的node即可。

怎麼處理文件上傳?以下這篇文章為大家介紹一下node專案中如何使用express來處理文件的上傳,希望對大家有幫助!

這篇文章跟大家分享Node的進程管理工具“pm2”,聊聊為什麼需要pm2、安裝和使用pm2的方法,希望對大家有幫助!

PiNetwork節點詳解及安裝指南本文將詳細介紹PiNetwork生態系統中的關鍵角色——Pi節點,並提供安裝和配置的完整步驟。 Pi節點在PiNetwork區塊鏈測試網推出後,成為眾多先鋒積極參與測試的重要環節,為即將到來的主網發布做準備。如果您還不了解PiNetwork,請參考Pi幣是什麼?上市價格多少? Pi用途、挖礦及安全性分析。什麼是PiNetwork? PiNetwork項目始於2019年,擁有其專屬加密貨幣Pi幣。該項目旨在創建一個人人可參與

如何用pkg打包nodejs可執行檔?以下這篇文章跟大家介紹一下使用pkg將Node專案打包為執行檔的方法,希望對大家有幫助!

身份驗證是任何網路應用程式中最重要的部分之一。本教程討論基於令牌的身份驗證系統以及它們與傳統登入系統的差異。在本教程結束時,您將看到一個用Angular和Node.js編寫的完整工作演示。傳統身份驗證系統在繼續基於令牌的身份驗證系統之前,讓我們先來看看傳統的身份驗證系統。使用者在登入表單中提供使用者名稱和密碼,然後點擊登入。發出請求後,透過查詢資料庫在後端驗證使用者。如果請求有效,則使用從資料庫中獲取的使用者資訊建立會話,然後在回應頭中傳回會話訊息,以便將會話ID儲存在瀏覽器中。提供用於存取應用程式中受

npm node gyp失敗是因為“node-gyp.js”跟“Node.js”版本不匹配,其解決辦法:1、透過“npm cache clean -f”清除node快取;2、透過“npm install -g n”安裝n模組;3、透過「n v12.21.0」指令安裝「node v12.21.0」版本即可。
