Recientemente estoy usando JS para hacer cosas divertidas y necesito procesar imágenes. Hay muchos tutoriales en Internet con varios métodos y es posible que algunos métodos no necesariamente funcionen. Este artículo compartirá con usted un método verificado por el autor para utilizar NodeJS para procesar imágenes.
npm i gm
gm es una biblioteca de Node que proporciona algunas API JS para que los desarrolladores puedan procesar imágenes. Pero se basa en GraphicsMagick o ImageMagick debajo. De hecho, gm es la línea de comando para llamar a esas dos herramientas.
En otras palabras, además de instalar gm, también necesitamos instalar GraphicsMagick o ImageMagick.
ImagenMagiaEl autor está en MacOS y eligió directamente instalar ImageMagick.
Según el comando del sitio web oficial, solo se necesita 1 línea de código (siempre que haya instalado Brew en su Mac):
instalar cerveza imagemagick --with-webp
Permítanme presentarles el parámetro --with-webp
. Puede eliminarlo, pero si desea procesar imágenes en formato webp, debe agregarlo.
Es más conveniente utilizar Brew. No tienes que preocuparte por las variables de entorno.
GráficosMagia
Por supuesto, si no usa ImageMagick, puede usar GraphicsMagick:
cerveza instalar gráficosmagick
Al principio elegí instalar ImageMagick y cuando escribí esto, siempre recibía un error:
const gm = requerir('gm'); gm('Ruta del archivo de imagen').crop(ancho, alto, 0, 0).resize(ancho2, alto2).quality(calidad).write('Ruta del archivo de salida', function (err) { si (errar) { devolver console.log(err); } demás { console.log('éxito'); } });
Si desea utilizar ImageMagick, la forma de escribir anterior es realmente incorrecta. Debería escribirlo así, especificando claramente que quiero utilizar la herramienta ImageMagick
:
const g = requerir('gm'); const gm = g.subClass({imageMagick: verdadero}); gm('Ruta del archivo de imagen').crop(ancho, alto, 0, 0).resize(ancho2, alto2).quality(calidad).write('Ruta del archivo de salida', function (err) { si (errar) { devolver console.log(err); } demás { console.log('éxito'); } });
Registre las funciones comúnmente utilizadas de gm para su referencia:
Nota: gm se puede llamar en cadena y es muy divertido de escribir. Lee el archivo de imagen de gm (nombre de archivo), lo procesa capa por capa y finalmente lo escribe en file.write (nombre de archivo, devolución de llamada).
Ampliar imagen
.resize(width, height)
Recortar imagen
.crop(width, height, x, y)
Girar imagen
.rotate(color, deg)
el color es el color de fondo (si el ángulo de rotación de grados no es múltiplo de 90, el color de fondo es útil, simplemente use el formato '#ededed')