Rumah >hujung hadapan web >tutorial js >Mari kita bincangkan tentang cara Nodejs menggunakan gm dan imageMagick untuk memproses imej

Mari kita bincangkan tentang cara Nodejs menggunakan gm dan imageMagick untuk memproses imej

青灯夜游
青灯夜游ke hadapan
2022-08-15 19:42:382857semak imbas

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!

Mari kita bincangkan tentang cara Nodejs menggunakan gm dan imageMagick untuk memproses imej

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.

Kebergantungan pemasangan

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

Memetik gm

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');
  }
});

Fungsi lain

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!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam