Rumah > Artikel > hujung hadapan web > Perkara yang perlu dilakukan jika nod gm melaporkan ralat
Penyelesaian kepada ralat yang dilaporkan oleh nod gm: 1. Pasang "ImageMagick 6.x"; 2. Tambah direktori pemasangan ImageMagick ke Laluan direktori persekitaran dan ubah suai kod kepada "require('gm'). subClass({ imageMagick: true});" Itu sahaja.
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, versi nod-v16.18.0, komputer DELL G3
nod ralat gm apa yang perlu dilakukan?
Koleksi pelbagai penyelesaian masalah tentang nodejs gm (aksara Cina yang kacau, lukisan tidak menepati, ������)
1. Aksara Cina bercelaru
graphicsmagick tidak menyokong lukisan fon Cina (tidak ditentukan)
Kaedah yang paling langsung dan berkesan pada masa ini ialah menggantikan ImageMagick (kedua-dua fungsi Tepat sama, tidak perlu risau)
Pasang pertama ImageMagick 6.x
(Untuk 7.x, sila semak pilihan "Pasang utiliti legasi (cth. tukar)" semasa pemasangan)
Kemudian, tambahkan direktori pemasangan ImageMagick pada Laluan direktori persekitaran.
dan buat perubahan berikut pada kod anda:
const gm = require('gm')//原代码 const gm = require('gm').subClass({imageMagick: true});//修改后的代码
Seterusnya, semak sama ada anda telah menetapkan fon Cina dan sama ada pengekodan telah bertukar kepada Unicode.
Untuk fon Cina, saya syorkan menggunakan "Google Noto" Google, yang disokong dalam mana-mana bahasa pada asasnya.
Contoh:
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 Ralat: Perintah gagal: tukar: tak mematuhi definisi primitif lukisan
untuk drawText Ia boleh diselesaikan. dengan menambah ' di kiri dan kanan teks (fungsi dengan teks boleh diselesaikan dengan cara ini)
Contoh:
img.drawText(0, 50, text);//错误 img.drawText(0, 50, "'" + text + "'");//正确方法
3. Ralat: Ralat: Perintah gagal : � �����
biasanya muncul dalam ImageMagick7.x dan selepas menetapkan imageMagick: true.
Pasang semula 7.x dan semak pilihan "Pasang utiliti legasi (cth. tukar)" semasa pemasangan.
Saya mengambil masa sehari untuk menyiapkan gm ini....
Pembelajaran yang disyorkan: "tutorial video node.js"
Atas ialah kandungan terperinci Perkara yang perlu dilakukan jika nod gm melaporkan ralat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!