我正在尝试用印地语写在图像上。我正在使用节点画布库。我的输出有问题。有人能帮我吗 ?
const { createCanvas, loadImage, registerFont} = require('canvas')
const canvas = createCanvas(400, 400)
const ctx = canvas.getContext('2d')
var str= "यह. मिसिसिपी है";
console.log(str);
loadImage('missisippi.jpg').then((image) => {
console.log(image);
ctx.drawImage(image, 0 , 0, 400, 400);
ctx.fillText(str,100,40);
var body = canvas.toDataURL(),
base64Data = body.replace(/^data:image\/png;base64,/,""),
binaryData = new Buffer(base64Data, 'base64').toString('binary');
require("fs").writeFile("out.png", binaryData, "binary", function(err) {
console.log(err); // writes out file without error, but it's not a valid image
})
// console.log('<img src="' + canvas.toDataURL() + '" />')
})
这是输出图像。您可以看到 मिसिसिपी 在语法上是错误的。(如果你熟悉印地语。
我也用 npm-gm 尝试过同样的事情。在那我也面临同样的问题。有人可以帮我解决这个问题吗?
如何使用自定义字体在图像上书写文字?