我正在尝试从图像的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显示“类型'string'上不存在属性'height'和'width'。
如何获取图像的高度和宽度属性?
答案 0 :(得分:1)
使用该图像数据创建一个 HTMLImageElement ,然后在加载后获取其 naturalWidth 和 naturalHeight :
var imgData = myDiagram.makeImageData(. . .);
var img = document.createElement("img");
img.addEventListener('load', function(e) {
console.log(img.naturalWidth + " " + img.naturalHeight);
});
img.src = imgData;