Rumah > Artikel > hujung hadapan web > Mari kita bincangkan tentang cara Nodejs menggunakan gm dan imageMagick untuk memproses imej
NodejsBagaimana untuk memproses imej? Artikel berikut akan memperkenalkan kepada anda cara Nodejs menggunakan gm dan imageMagick untuk memproses imej saya harap ia akan membantu anda!
Baru-baru ini saya menggunakan JS untuk melakukan perkara yang menyeronokkan dan perlu memproses gambar. Terdapat banyak tutorial di Internet dengan pelbagai kaedah, dan beberapa kaedah mungkin tidak semestinya berfungsi. Artikel ini akan berkongsi dengan anda kaedah yang disahkan oleh pengarang untuk menggunakan NodeJS untuk memproses imej.
npm i gm
gm ialah pustaka Nod yang menyediakan beberapa API JS yang membenarkan pembangun memproses imej . Tetapi ia bergantung pada GraphicsMagick, atau ImageMagick. Sebenarnya, gm ialah baris arahan yang memanggil kedua-dua alat tersebut.
Dengan kata lain, selain memasang gm, kita juga perlu memasang sama ada GraphicsMagick atau ImageMagick.
ImageMagick
Pengarang adalah daripada MacOS dan terus memilih untuk memasang ImageMagick.
Ikuti arahan tapak web rasmi, yang hanya memerlukan 1 baris kod (dengan syarat anda telah memasang brew pada Mac anda):
brew install imagemagick --with-webp
Perkenalkan parameter --with-webp
, anda boleh memadamkannya , tetapi jika anda ingin memproses imej dalam format webp, anda mesti menambahkannya.
Adalah lebih mudah untuk menggunakan minuman Anda tidak perlu risau tentang pembolehubah persekitaran.
GraphicsMagick
Sudah tentu, jika anda tidak menggunakan ImageMagick, anda boleh menggunakan GraphicsMagick:
brew install graphicsmagick
Pada mulanya saya memilih untuk memasang ImageMagick Apabila saya menulis ini, saya selalu mendapat ralat:
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'); } });
Jika anda ingin menggunakan ImageMagick, penulisan di atas sebenarnya salah. Anda sepatutnya Ditulis seperti ini, nyatakan dengan jelas bahawa saya ingin menggunakan alat 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'); } });
Rakam fungsi gm yang biasa digunakan untuk diingati oleh semua orang:
Nota: gm boleh dipanggil dalam rantai, yang sangat menyeronokkan untuk menulis fail imej dari gm(nama fail), memprosesnya secara berlapis lapisan, dan akhirnya menulis ke file.write(nama fail, panggil balik).
Zum imej
.resize(width, height)
Pangkas imej
.crop(width, height, x, y)
Putar gambar
.rotate(color, deg)
warna ialah warna latar belakang (Jika sudut putaran deg bukan gandaan 90, warna latar belakang akan berguna, hanya gunakan format '#ededed')
Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs!
Atas ialah kandungan terperinci Mari kita bincangkan tentang cara Nodejs menggunakan gm dan imageMagick untuk memproses imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!