node.js中使用imagemagick進(jìn)行圖片裁剪壓縮
-
安裝imagemagick
sudo apt-get install imagemagick
or
wget http://www.imagemagick.org/download/ImageMagick.tar.gz tar zxvf ImageMagick.tar.gz cd ImageMagick ./configure --prefix=/usr/local make sudo make install
-
安裝GraphicsMagick for node http://aheckmann.github.com/gm/
npm install gm
-
node.js代碼
var fs, gm; gm = require('gm'); gm('./img/before.jpg').options({ imageMagick: true }).resize(130, 105).write('./img/after.jpg', function(err) { if (err) { return console.error(err); } return console.log('success'); });
使用文件流:
var fs, gm; gm = require('gm'); fs = require('fs'); gm(fs.createReadStream('./img/before.jpg')).options({ imageMagick: true }).resize(130, 105).stream().pipe(fs.createWriteStream('./img/after.jpg'));
處理網(wǎng)上圖片:
var fs, gm, request; gm = require('gm'); fs = require('fs'); request = require('request'); gm(request('http://url_to_img.jpg')).options({ imageMagick: true }).resize(130, 105).stream().pipe(fs.createWriteStream('./img/after.jpg'));
錯(cuò)誤處理
-
如出現(xiàn)以下錯(cuò)誤,請(qǐng)參考: http://www.xgezhang.com/imagemagick_convert_problem.html
convert: no decode delegate for this image format `JPEG' @ error/constitute.c/ReadImage/501. convert: no images defined `img/after.jpg' @ error/convert.c/ConvertImageCommand/3212.
-
如果configure提示“configure: error: libltdl is required for modules build”,則yum search ltdl,然后(以CentOS 6.3 64bit 為例)
yum install libtool-ltdl.x86_64 yum install libtool-ltdl-devel.x86_64
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
