2011-09-16 4 views
6

자바 스크립트 (DOM의 일부가 아닌 이미지)를 사용하여 파일 시스템에서 이미지의 높이와 너비를 얻을 수 있습니까? 또는 이미지를 DOM에 삽입하고 치수를 그 방식으로 가져 오기 위해 JavaScript를 사용해야합니까?DOM에없는 이미지의 높이/너비를 가져올 수 있습니까?

메소드 매개 변수의 일부로 3 개의 이미지 경로를 사용하는 Raphaël이 생성 한 UI 구성 요소를 즉석에서 렌더링하기 위해 JavaScript 메소드를 작성 중이므로 물어 봅니다. 그런 다음 위에서 언급 한 UI 구성 요소를 렌더링하는 데 사용되며 위치 지정을 위해 이미지의 크기가 필요합니다.

미리 감사드립니다.

답변

9

나는 이미지는 폭과 높이를 잡을 수로드만큼 생각 - 당신이 비록 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'; 
+0

console.log에서 너비와 높이가 표시되지만 JSON.stringify()를 시도하면 출력되지 않습니다. 콘솔에서 개체가 완벽 해 보이지만 가져올 수 없습니다. – user2734550

-5

자바 스크립트 (즉, DOM의 일부가 아닌 이미지)를 사용하여 파일 시스템에서 이미지의 높이와 너비를 얻을 수 있습니까?

  • 없음

아니면 내가는 DOM에 이미지를 삽입하는 자바 스크립트를 사용하고 그런 식으로 치수를 잡아해야?

  • 예는
+2

Yikes, 그건 사실이 아닙니다. 자세한 내용은 다른 답변을 참조하십시오. – Malvolio

+0

내가 특별히 말한 것 (파일 시스템에 액세스하는 것)은 불가능하다고 생각하지만 URL을 말해야했습니다. –

1

당신은 코드와 이미지를 다운로드 할 수 있습니다 :

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"; 
4

당신은 반드시 "파일 시스템"을 얻을 수 없다,하지만 당신이 할 수 있습니다 : 당신을

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에 추가"하는 것으로 계산합니까?

관련 문제