处理toDataURL-将convascontext转换为canvashtml



我浏览HTML并将其转换为Canvas。

for (const element of htmlData) {
var input = document.getElementById(element);
allPromises.push(html2canvas(input));
}

在下一步中,我将遍历我的Promises数组,尝试将画布裁剪成特殊大小,并使用jsPDF将其写入PDF。

Promise.all(allPromises).then((response) => {
response.forEach((input) => {
var croppedImage = cropImg(input);
imgData = croppedImage.toDataURL('image/jpeg', 1.0);
insertImg(imgData, imgWidth_mm, imgHeight_mm);
}
}

我用于裁剪的功能看起来像:

function cropImg(image) {
var ctx = image.getContext('2d');
ctx.drawImage(image, 20, 20, 50, 50, 0, 0, 50, 50);
return ctx;
}

不幸的是,我得到了错误消息:croppedImage.toDataURL不是一个函数.toDataURL函数似乎无法处理我提供给它的画布的原始上下文。有什么建议吗?如果我不裁剪画布,一切都很好。

代码是正确的,只是裁剪的值是错误的。

编辑:有些事情是对的。我必须通过return image传递图像

最新更新