Node.js 對圖片進行裁切、縮放
GraphicsMagick for node.js
首先得安裝 GraphicsMagick 或者 ImageMagick。
然後執行:
- $ sudo npm install gm
我安裝的是ImageMagick,在ubuntu系統下快速安裝:
- $ sudo apt-get install imagemagick
HOW TO USE
GM 文件:http://aheckmann.github.io/gm/docs.html
- var imageMagick = gm.subClass({ imageMagick: true });
- imageMagick("img.png").resize(300, 100).autoOrient().write('/path', callback);
Example (nodejs + Express)
- var gm = require('gm')
- , fs = require('fs')
- , imageMagick = gm.subClass({ imageMagick : true });
- exports.imgUpload = function(req, res) {
- res.header('Content-Type', 'text/plain');
- var path = req.files.img.path; //獲取使用者上傳過來的檔案的當前路徑
- var sz = req.files.img.size;
- if (sz > 2*1024*1024) {
- fs.unlink(path, function() { //fs.unlink 刪除使用者上傳的檔案
- res.end('1');
- });
- } else if (req.files.img.type.split('/')[0] != 'image') {
- fs.unlink(path, function() {
- res.end('2');
- });
- } else {
- imageMagick(path)
- .resize(150, 150, '!') //加('!')強行把圖片縮放成對應尺寸150*150!
- .autoOrient()
- .write('public/images/user/'+req.files.img.name, function(err){
- if (err) {
- console.log(err);
- res.end();
- }
- fs.unlink(path, function() {
- return res.end('3');
- });
- });
- }
- };
上面只是index.js檔案的部分核心程式碼
示例執行截圖:
可以檢視 public/images/user/ 裡面的圖片,驗證你上傳的圖片是否被縮放了。
同理可對圖片進行裁切:
- gm("img.png").crop(width, height, x, y)
相關文章
- 圖片等比例縮放裁切詳解
- 踩坑!填坑!NodeJS環境使用GraphicIMagicK裁切、縮放圖片NodeJS
- vue 上傳圖片進行壓縮圖片Vue
- 使用tinypng對需要上傳Gitee圖床的圖片進行壓縮Gitee圖床
- SwiftUI圖片處理(縮放、拼圖)SwiftUI
- android imageview 縮放檢視圖片AndroidView
- opencv 圖片幾何變換-縮放OpenCV
- 開源圖片工具箱(Img Toolbox) 格式轉換 新增水印 圖片壓縮 圖片裁剪 圖片旋轉 圖片縮放
- css中圖片按照長寬比縮放CSS
- QLabel顯示圖片 ,並實現縮放
- 滑鼠懸浮圖片實現縮放效果
- JavaScript圖片簡單等比例縮放JavaScript
- 自定義圖片裁剪之雙指縮放思路
- VS+Qt+Halcon——顯示圖片,實現滑鼠縮放、移動圖片QT
- 對html進行截圖並儲存為本地圖片HTML地圖
- python對英雄皮膚進行圖片採集~Python
- Vue3等比例縮放圖片元件Vue元件
- .NetCore實現圖片縮放與裁剪 - 基於ImageSharpNetCore
- css設定圖片固定寬高,按比例縮放CSS
- 移動端圖片等比例縮放實踐
- ugui 縮放圖片使圖片的四個角和四邊保持原樣UGUI
- 如何在 CSS 背景圖片中對 SVG 圖片進行著色 ,修改svg圖片顏色CSSSVG
- 教你如何進行Prometheus 分片自動縮放Prometheus
- 利用 JS 進行圖片處理並生成對應粒子圖JS
- 觸屏 H5 如何實現壓縮並上傳多張圖片,同時還可以進行圖片壓縮H5
- 縮放圖片至固定大小,尺寸不足以0填充
- 圖片響應式縮放,已中心為原點裁剪
- 用 matlab 對圖片進行對比度和均衡度調整Matlab
- antd-img-crop,使用 Ant Design Upload 時裁切圖片
- HarmonyOS NEXT應用開發之圖片縮放效果實現
- BMP格式圖片縮放及在LCD螢幕展示練習
- 圖片縮放(不裁剪,按原來比例計算寬高)
- web前端頁面點選預覽圖片及大小縮放Web前端
- 前端圖片壓縮 - H5&Uni-App圖片壓縮前端H5APP
- 移動端上傳圖片進行平移放大縮小操作後生成海報
- canvas 壓縮圖片Canvas
- 圖片壓縮20201109
- ??圖片壓縮CanvasCanvas
- 在vscode中對Node.js進行debugVSCodeNode.js