是否可以使用JavaScript(即不是DOM的一部分的圖像)在文件系統中獲取圖像的高度和寬度?或者,我是否必須使用JavaScript將圖像插入到DOM中並以這種方式獲取尺寸?是否可以獲取不在DOM中的圖像的高度/寬度?
我問,因爲我正在寫一個JavaScript方法來渲染一個由Raphaël生成的UI組件,它將三個圖像路徑作爲方法參數的一部分。這些被用來渲染上述UI組件,並且我需要用於定位的圖像尺寸。
在此先感謝。
是否可以使用JavaScript(即不是DOM的一部分的圖像)在文件系統中獲取圖像的高度和寬度?或者,我是否必須使用JavaScript將圖像插入到DOM中並以這種方式獲取尺寸?是否可以獲取不在DOM中的圖像的高度/寬度?
我問,因爲我正在寫一個JavaScript方法來渲染一個由Raphaël生成的UI組件,它將三個圖像路徑作爲方法參數的一部分。這些被用來渲染上述UI組件,並且我需要用於定位的圖像尺寸。
在此先感謝。
我覺得只要圖像加載,你可以抓住的寬度和高度 - 你不應該有,雖然將其注入到DOM。例如:
var tmp = new Image();
tmp.onload = function() {
console.log(tmp.width + ' x ' + tmp.height);
}
tmp.src = 'http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=4';
是否可以使用JavaScript(即不是DOM的一部分的圖像)在文件系統中獲取圖像的高度和寬度?
否則我將不得不使用JavaScript注入圖像到DOM和搶尺寸呀?
哎呀,這是不正確的。詳情請參閱所有其他答案。 – Malvolio
我想我所說的(訪問文件系統)是不可能的,但我應該說網址。 –
您可以用代碼下載圖片:
var img=new Image(),imgWidth,imgHeight;
img.onerror=img.onload=function(ev) {
ev=ev||event;
if(ev.type==="error") {
imgWidth=imgHeight=-1; // error loading image resourse
}
else {
imgWidth=this.width; // orimgWidth=img.width
imgHeight=this.height; // imgHeight=img.height
}
}
img.src="url_to_image_file";
你一定不能去 「文件系統」,但你可以這樣做:
v = new Image();
v.onload = function() {
alert("size: " + String(v.width) + 'x' + String(v.height));
};
v.src = "http://www.gravatar.com/avatar/96269f5a69115aa0e461b6334292d651?s=32&d=identicon&r=PG";
請問你算作「添加到DOM」?
我在console.log中獲取寬度和高度,但是當我嘗試使用JSON.stringify()時,它不打印出來。該對象在控制檯中看起來很完美,但我無法檢索它 – user2734550