问题描述
我正在使用带有 nodejs 的 Jimp 创建日期的动态图像, 这是我的功能:
const buildDate = function(date) {
return new Promise(function(resolve,reject) {
Jimp.create(55,500).then(dateCanvas => {
for (let i = 0; i < date.length; i++) {
let c = date.charat(i);
let rand = Math.floor(Math.random() * 3);
console.log(`${c}${rand}.png`);
Jimp.read(path.join(numbers,(isNumber(c)?`${c}${rand}.png`:`s${rand}.png`)),(err,numberImage) => {
if (err) return reject(err);
dateCanvas.composite(numberImage,i*25,[],() => {
if (i >= (date.length-1)) return resolve(dateCanvas);
});
});
}
});
});
};
我正在像这样使用我的函数:
buildDate('25/12/2009')
.then(dateCanvas => {
image.blit(dateCanvas,139,1224)
}).catch(err => reject(err));
我的“数字文件夹”中有 3 个 png,用于从 0 到 9 的 30*55 的每个数字。
我的问题是:结果上只显示 2 个数字。我认为这是因为我不等待其他图像被读取但我不知道该怎么做? 非常感谢我的英语不好。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)