亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    node gm 報(bào)錯(cuò)怎么辦

    node gm報(bào)錯(cuò)的解決辦法:1、安裝“ImageMagick 6.x”;2、在環(huán)境目錄Path中增加ImageMagick安裝目錄,并修改代碼為“require('gm').subClass({imageMagick: true});”即可。

    node gm 報(bào)錯(cuò)怎么辦

    本教程操作環(huán)境:linux5.9.8系統(tǒng)、node-v16.18.0版、DELL G3電腦

    node gm 報(bào)錯(cuò)怎么辦?

    關(guān)于nodejs gm的各種各樣的問(wèn)題解決方法集合(中文亂碼,non-conforming drawing,??Ч???? )

    1.中文亂碼

    graphicsmagick不支持中文字體繪制(未確定)

    目前最直接最有效的方法為更換ImageMagick(二者功能完全相同,無(wú)需擔(dān)心)

    首先安裝ImageMagick 6.x

    (為7.x請(qǐng)?jiān)诎惭b時(shí)對(duì)"Install legacy utilities(e.g. convert)"選項(xiàng)進(jìn)行打鉤)

    node gm 報(bào)錯(cuò)怎么辦

    隨后,在環(huán)境目錄Path中增加ImageMagick安裝目錄。

    并對(duì)你的代碼做以下修改:

    const gm = require('gm')//原代碼 const gm = require('gm').subClass({imageMagick: true});//修改后的代碼
    登錄后復(fù)制

    接下來(lái),檢查你是否設(shè)置了中文字體,和是否編碼切換為了Unicode。

    中文字體我推薦使用谷歌的"Google Noto",基本啥語(yǔ)言都支持。

    示例:

    const gm = require('gm').subClass({imageMagick: true}); var text = "你好!ImageMagick!"; var img = gm(800, 2000, "#ffffffff");//創(chuàng)建一個(gè)800x2000的圖片 img.font("./Noto.ttf",36);//設(shè)置字體,字體大小 img.encoding('Unicode');//設(shè)置編碼為Unicode img.drawText(0, 50, "'" + text + "'");//此處 "'" 不能刪除,刪除會(huì)導(dǎo)致出現(xiàn)問(wèn)題2(坑爹) img.write("test.png", function (err) {if(err)console.error(err)});//寫出圖片
    登錄后復(fù)制

    2.出現(xiàn)報(bào)錯(cuò):Error: Command failed: convert: non-conforming drawing primitive definition

    給drawText的文字的左右加一個(gè) ' 即可解決(帶有文字的函數(shù)都可以這么解決)

    示例:

    img.drawText(0, 50, text);//錯(cuò)誤 img.drawText(0, 50, "'" + text + "'");//正確方法
    登錄后復(fù)制

    3.報(bào)錯(cuò):Error: Command failed: ??Ч????

    一般出現(xiàn)于ImageMagick7.x,并設(shè)置imageMagick: true以后。

    重裝7.x,并在安裝時(shí)對(duì)"Install legacy utilities(e.g. convert)"選項(xiàng)進(jìn)行打鉤。

    搞了一天才整好這gm….

    推薦學(xué)習(xí):《node.js視頻教程》

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)