Heim  >  Artikel  >  Web-Frontend  >  Was tun, wenn Node GM einen Fehler meldet?

Was tun, wenn Node GM einen Fehler meldet?

藏色散人
藏色散人Original
2023-01-28 16:22:282448Durchsuche

Node GM-Fehlerlösung: 1. Installieren Sie „ImageMagick 6.x“ 2. Fügen Sie das ImageMagick-Installationsverzeichnis zum Umgebungsverzeichnispfad hinzu und ändern Sie den Code in „require('gm').subClass({imageMagick: true} );" Das ist es.

Was tun, wenn Node GM einen Fehler meldet?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Node-v16.18.0-Version, DELL G3-Computer

Was soll ich tun, wenn Node GM einen Fehler meldet?

Eine Sammlung verschiedener Problemlösungen zu nodejs gm (chinesischer verstümmelter Code, nicht konforme Zeichnung, ��Ч����)

1. Chinesischer verstümmelter Code

graphicsmagick unterstützt keine chinesische Schriftart Zeichnen (unbestimmt)

Derzeit ist die direkteste und effektivste Methode das Ersetzen von ImageMagick (die beiden Funktionen sind genau gleich, kein Grund zur Sorge)

Installieren Sie zuerst ImageMagick 6.x

(Für 7.x überprüfen Sie bitte „ „Installieren“ während der Installation Aktivieren Sie die Option „Legacy-Dienstprogramme (z. B. Konvertieren)“)

Was tun, wenn Node GM einen Fehler meldet?

Fügen Sie dann das ImageMagick-Installationsverzeichnis zum Umgebungsverzeichnispfad hinzu.

Und nehmen Sie folgende Änderungen an Ihrem Code vor:

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

Überprüfen Sie als Nächstes, ob Sie die Chinesische Schriftart eingestellt haben und ob die Kodierung auf Unicode umgestellt wurde.

Für chinesische Schriftarten empfehle ich die Verwendung von Googles „Google Noto“, das in praktisch jeder Sprache unterstützt wird.

Beispiel:

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. Ein Fehler tritt auf: Fehler: Befehl fehlgeschlagen: Konvertierung: Nicht konforme Zeichnungsprimitivdefinition

Fügen Sie links und rechts vom Text in drawText ein ' hinzu, um das Problem zu lösen (funktioniert mit Text kann dies tun (Lösung)

Beispiel:

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

3. Fehler: Fehler: Befehl fehlgeschlagen: ������

erscheint normalerweise in ImageMagick7.x und nach dem Festlegen von imageMagick: true.

Installieren Sie 7.x neu und aktivieren Sie während der Installation die Option „Legacy-Dienstprogramme installieren (z. B. konvertieren)“.

Ich habe einen ganzen Tag gebraucht, um dieses GM zu reparieren....

Empfohlene Studie: „node.js Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas tun, wenn Node GM einen Fehler meldet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn