求助,使用GM模块生成图片当字体是中文时出现问号,是字母或数字时则正常
发布于 8 年前 作者 LukeCG 4273 次浏览 来自 问答

服务器安装的是imageMagick, 然后使用gm生成图片,引入个别字库之后生成的字体是中文时,会出现问号,但数字或字母则正常,有些字体库则不会有这样的情况 应该不是字体库本身的问题,下面代码中的字体库在PHP中是能正确生成字体的

var fs = require('fs');
var gm = require('gm').subClass({"imageMagick": true});
var express = require('express');
function sign(req, res, next){
    var imgPath = process.cwd() + '/public/images/module/internal.png';
    var lanting = process.cwd() + '/public/font/lanting.ttf';
    var Lantinghei_SC = process.cwd() + '/public/font/Lantinghei_SC.ttf';
    var Lantinghei_TC = process.cwd() + '/public/font/Lantinghei_TC.ttf';
    var msyh = process.cwd() + '/public/font/msyh.ttf';
    var MyriadProRegular = process.cwd() + '/public/font/MyriadPro-Regular.otf';
	
    gm(imgPath).font(Lantinghei_SC, 30).drawText(10, 45, "这只是个测试").write(process.cwd() + "/public/images/internal/"+ id +".png",function(err) {
        if (err) console.log(err);
    });

    gm(imgPath).font(Lantinghei_SC, 30).drawText(10, 45, "this is test").write(process.cwd() + "/public/images/external/"+ id +".png",function(err) {
        if (err) console.log(err);
    });
}

下面是用Lantinghei_SC字库生成的图片: sss.png

下面是用msyh字库生成的图片: OQOK4HE@55%ZDKJQ`K_Y91G.png

1 回复

这个问题你后来解决了没

回到顶部