2011-09-16 28 views
6

Javascript'i (yani DOM'un bir parçası olmayan bir görüntüyü) kullanarak dosya sistemindeki bir görüntünün yüksekliğini ve genişliğini elde etmek mümkün mü? Ya da görseli DOM'a enjekte etmek ve bu şekilde boyutları almak için JavaScript kullanmalı mıyım?DOM'da olmayan bir resmin yüksekliğini/genişliğini elde etmek mümkün mü?

Soruyu bir UI bileşenini Raphaël tarafından oluşturulan anında oluşturmak için bir JavaScript yöntemi yazdığımdan, yöntem parametrelerinin bir parçası olarak üç görüntü yolu alır. Bunlar daha sonra yukarıda sözü edilen UI bileşenini oluşturmak için kullanılır ve konumlandırma amaçları için görüntülerin boyutlarına ihtiyacım vardır.

Şimdiden teşekkürler.

cevap

9

Ben görüntü genişliğini ve yüksekliğini yakalayabilir yüklendikten sürece düşünüyorum - sen olsa DOM enjekte etmek zorunda olmamalıdır. Örneğin:

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

Konsol.log içinde genişlik ve yükseklik elde ediyorum, ancak JSON.stringify() işlevini denediğimde, yazdırılmıyor. Nesne konsolda mükemmel görünüyor, ancak onu geri alamıyorum – user2734550

-5

JavaScript'in (yani DOM'ın bir parçası olmayan bir görüntü) kullanılmasıyla dosya sistemindeki bir görüntünün yüksekliğini ve genişliğini elde etmek mümkün mü?

  • No

Ya DOM'ye görüntüyü enjekte JavaScript kullanmak ve bu şekilde boyutlara kapmak zorunda kalacak?

  • Evet
+2

Yikes, bu doğru değil. Ayrıntılar için tüm diğer cevaplara bakın. – Malvolio

+0

Sanırım özellikle söylediğim şey (dosya sistemine erişme) mümkün değil, ama ben de URL vermeliydim. –

1

Sen koduyla görüntüyü indirebilirsiniz:

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

Mutlaka "dosya sistemi" olamıyorum, ama sen bunu yapabilirsiniz: sizi

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

misiniz bunu "DOM'a ekleme" olarak saymak ister misiniz?

İlgili konular