我正在尝试用印地语在图像上书写。我正在使用节点画布库。我的输出有一些问题。有人能帮我吗 ?
\n\nconst { createCanvas, loadImage, registerFont} = require(\'canvas\')\nconst canvas = createCanvas(400, 400)\nconst ctx = canvas.getContext(\'2d\')\n\nvar str= "\xe0\xa4\xaf\xe0\xa4\xb9. \xe0\xa4\xae\xe0\xa4\xbf\xe0\xa4\xb8\xe0\xa4\xbf\xe0\xa4\xb8\xe0\xa4\xbf\xe0\xa4\xaa\xe0\xa5\x80 \xe0\xa4\xb9\xe0\xa5\x88";\nconsole.log(str);\nloadImage(\'missisippi.jpg\').then((image) => {\n console.log(image);\n ctx.drawImage(image, 0 , 0, 400, 400);\n ctx.fillText(str,100,40);\n var body = canvas.toDataURL(),\n base64Data = body.replace(/^data:image\\/png;base64,/,""),\n binaryData = new Buffer(base64Data, \'base64\').toString(\'binary\');\n\n require("fs").writeFile("out.png", binaryData, "binary", function(err) {\n console.log(err); // writes out file without error, but it\'s not a valid image\n })\n\n // console.log(\'<img src="\' + canvas.toDataURL() + \'" />\')\n})\nRun Code Online (Sandbox Code Playgroud)\n\n这是输出图像。可以看到\xe0\xa4\xae\xe0\xa4\xbf\xe0\xa4\xb8\xe0\xa4\xbf\xe0\xa4\xb8\xe0\xa4\xbf\xe0\xa4\xaa\xe0\xa5 \x80 在语法上是错误的。(如果你熟悉印地语。
\n\n我也用 npm-gm 尝试过同样的事情。我也面临同样的问题。有人可以帮我解决这个问题吗? …