代码之家  ›  专栏  ›  技术社区  ›  Paco Zevallos

将Canva二维码转换为Angular/Typescript格式的图像,然后保存到Firebase存储

  •  0
  • Paco Zevallos  · 技术社区  · 2 年前

    我正在使用这个库生成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>
    

    解决这个问题的最佳方法是什么?

    0 回复  |  直到 2 年前