Maison  >  Article  >  interface Web  >  Que faire si le nœud gm signale une erreur

Que faire si le nœud gm signale une erreur

藏色散人
藏色散人original
2023-01-28 16:22:282377parcourir

Solution d'erreur Node gm : 1. Installez "ImageMagick 6.x" ; 2. Ajoutez le répertoire d'installation d'ImageMagick au chemin du répertoire d'environnement et modifiez le code en "require('gm').subClass({imageMagick: true} );" C'est ça.

Que faire si le nœud gm signale une erreur

L'environnement d'exploitation de ce tutoriel : système linux5.9.8, version node-v16.18.0, ordinateur DELL G3

Que dois-je faire si node gm signale une erreur ?

Une collection de diverses solutions aux problèmes concernant nodejs gm (code chinois tronqué, dessin non conforme, ��Ч����)

1. code chinois tronqué

graphicsmagick ne prend pas en charge la police chinoise. dessin (indéterminé)

Actuellement, la méthode la plus directe et la plus efficace consiste à remplacer ImageMagick (les deux fonctions sont exactement les mêmes, ne vous inquiétez pas)

Installez d'abord ImageMagick 6.x

(Pour 7.x, veuillez cocher " Installer" lors de l'installation Vérifiez les utilitaires hérités (par exemple convertir)" option)

Que faire si le nœud gm signale une erreur

Ensuite, ajoutez le répertoire d'installation d'ImageMagick au chemin du répertoire d'environnement.

Et apportez les modifications suivantes à votre code :

const gm = require('gm')//原代码
const gm = require('gm').subClass({imageMagick: true});//修改后的代码

Ensuite, vérifiez si vous avez défini la Police chinoise et si le encodage a été basculé sur Unicode.

Pour les polices chinoises, je recommande d'utiliser "Google Noto" de Google, qui est pris en charge dans pratiquement toutes les langues.

Exemple :

const gm = require('gm').subClass({imageMagick: true});
var text = "你好!ImageMagick!";
var img = gm(800, 2000, "#ffffffff");//创建一个800x2000的图片
img.font("./Noto.ttf",36);//设置字体,字体大小
img.encoding('Unicode');//设置编码为Unicode
img.drawText(0, 50, "'" + text + "'");//此处 "'" 不能删除,删除会导致出现问题2(坑爹)
img.write("test.png", function (err) {if(err)console.error(err)});//写出图片

2. Une erreur se produit : Erreur : Échec de la commande : conversion : définition de la primitive de dessin non conforme

Ajoutez un ' à gauche et à droite du texte dans drawText pour résoudre le problème (fonctions avec le texte peut faire cette solution)

Exemple :

img.drawText(0, 50, text);//错误
img.drawText(0, 50, "'" + text + "'");//正确方法

3. Erreur : Erreur : La commande a échoué : ��Ч����

apparaît généralement dans ImageMagick7.x, et après avoir défini imageMagick : true.

Réinstallez 7.x et cochez l'option "Installer les utilitaires hérités (par exemple convertir)" lors de l'installation.

Il m'a fallu une journée entière pour réparer ce GM....

Etude recommandée : "Tutoriel vidéo Node.js"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn