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

青灯夜游
Lepaskan: 2022-08-15 19:42:38
ke hadapan
2793 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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');
  }
});
Salin selepas log masuk

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');
  }
});
Salin selepas log masuk

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!

Label berkaitan:
sumber:juejin.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!