如何解决未呈现 JIMP 图像合成
我正在使用带有 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 举报,一经查实,本站将立刻删除。