簡體   English   中英

從Base64編碼的圖像獲取尺寸

[英]Get dimensions from Base64 encoded image

我有一個Angular應用程序,我需要Base64編碼圖像的尺寸。 我試圖將其加載到Image但它只是說它是0x0

const image = new Image();
image.src = 'data:image/jpeg;base64,someBase64ImageString';

console.log(image.width + 'x' + image.height);

我不知道如何獲取此信息。

設置src和將圖片置於“已加載”狀態(因此具有尺寸)之間的步驟是異步的-這似乎適用於數據URI和外部資源(至少在Chrome中是這樣)。

為了安全地確保填充了widthheight ,應該在回調中運行邏輯-即

let im = new Image;
im.src = 'data:image/png;base64,whatever';
im.onload = () => console.log(im.width);

請注意,這僅是第一次加載圖像時的問題,您的代碼可按原樣工作以進行后續調用-大概與瀏覽器處理和緩存數據的方式有關。

確保在src之前添加data:image/png;base64,

所以應該

img.src= 'data:image/png;base64,' + b64string;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM