我正在使用这个库生成Angular 11中的二维码:
https://github.com/Cordobo/angularx-qrcode
现在我想要的是将该图像保存在Firebase Storage中,但由于它是CANVA,我必须首先将其转换为image,对吧?
我尝试过这个解决方案,但没有成功:
https://stackblitz.com/edit/angularx-qrcode-download-qrcode-image
我还试图将CANVA转换为BLOB,但我得到了Typescript错误:
core.js:5980错误类型错误:canvas.toBlob不是函数
组件.ts
saveAsImage() {
const canvas = document.getElementById('parent') as HTMLCanvasElement;
const img = document.createElement('img');
canvas.toBlob( (blob) => {
img.src = URL.createObjectURL(blob);
console.log(blob);
}, 'image/png');
}
component.html
<qrcode id="parent" [qrdata]="myAngularxQrCode" [width]="256" [errorCorrectionLevel]="'M'" ></qrcode>
<button class="btn btn-primary" (click)="saveAsImage()">Download QR Code Image</button>
解决这个问题的最佳方法是什么?