【问题标题】:Getting Image height and width from base64 Image string in GoJS从 GoJS 中的 base64 图像字符串获取图像高度和宽度
【发布时间】:2018-08-31 05:55:42
【问题描述】:

我正在尝试从图像的 base64 字符串表示中获取图像高度和宽度,并且我正在使用 GoJS。

我最终想要做的是使用 jspdf 库将该图像添加到 PDF 中。

这是我到目前为止所做的:

download() {
    let imgData = this.diagram.makeImageData({background: "white", returnType: "string"}); 
    let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF  
      var position = 0;
      var imgWidth = imgData.width; //Reading width from Image Data
      var imgHeight = imgData.height; //Reading height from Image Data
      pdf.setFontSize(30);
      pdf.text("Diagram", 100, 20, 'center');
      pdf.addImage(imgData, 'PNG', 1, 25, position, imgWidth, imgHeight);  
      pdf.save("Diagram.pdf');
  }

在该 imgData.width 和 imgData.height 中,Visual Studio intellisense 显示 “属性 'height' 和 'width' 在类型 'string' 上不存在。

如何获取图片的高度和宽度属性?

【问题讨论】:

    标签: javascript angular base64 gojs


    【解决方案1】:

    使用该图像数据创建一个 HTMLImageElement,然后在加载后获取其 naturalWidthnaturalHeight

    var imgData = myDiagram.makeImageData(. . .);
    var img = document.createElement("img");
    img.addEventListener('load', function(e) {
      console.log(img.naturalWidth + " " + img.naturalHeight);
    });
    img.src = imgData;
    

    【讨论】:

    • 图片类型是blob怎么办?
    猜你喜欢
    • 2017-04-30
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    相关资源
    最近更新 更多