2013-01-11 28 views
13

base64 छवि चौड़ाई और ऊंचाई को खोजने के लिए कैसे पता कैसेbase64 छवि चौड़ाई और ऊंचाई

<img id="thumb0" width="200" height="200" 
src="data:image/png;base64, ................"> 

छवि संपत्ति चौड़ाई और ऊंचाई निरंतर रूप में मैं उन्हें अंगूठे के नाखून के रूप में दिखाने की जरूरत है, लेकिन जहां मूल रूप छवि गुण अलग हैं।

मुझे मूल छवि ऊंचाई और चौड़ाई प्राप्त करने की आवश्यकता है।

मान लीजिए मेरा मूल छवि ऊंचाई और चौड़ाई हैं 750 एक्स 500

मैं इस तरह की कोशिश की लेकिन संपत्ति चौड़ाई और ऊंचाई रही

$("#thumb0").width(); 

मूल्य है।

कृपया छवि की मूल चौड़ाई और ऊंचाई प्राप्त करने में सहायता करें।

+1

छवियाँ (Firefox पर कम से कम) एक naturalWidth/ऊंचाई संपत्ति ताकि आप img.naturalWidth उपयोग कर सकते हैं मूल चौड़ाई प्राप्त करने के लिए –

+0

फ़ायरफ़ॉक्स में फायरबग में कोशिश की गई यह अपरिभाषित है – vvr02

+1

यह फ़ायरफ़ॉक्स और क्रोम दोनों में मेरे लिए काम कर रहा है .. ध्यान दें कि छवि को प्राकृतिक वाइडथ/प्राकृतिक हाइट गुणों का उपयोग करने के लिए पूरी तरह से लोड किया जाना चाहिए .. –

उत्तर

16

आप एक और छवि तत्व का निर्माण और इसका आकार प्राप्त कर सकते हैं:

var img = new Image(); 
img.src = $('#thumb0').attr('src'); 
var originalWidth = img.width; 
+3

लेकिन मुझे लगता है कि यह ले जाएगा विशाल छवियों के लिए समय के लिए और हमें बनाने के बाद नष्ट करने की जरूरत है? – vvr02

+0

नहीं, यह बहुत तेज़ होगा, खासकर जब जारी करने का कोई अनुरोध नहीं है। और आपके पास ऐसा करने का कोई विनाश नहीं है: जैसे ही आप उस समारोह को छोड़ दें जहां आईएमजी घोषित किया गया है, यह साफ़ हो गया है। –

+0

@dystroy यह एंड्रॉइड ~~~ में काम नहीं करता है, इसे काम करने के किसी भी तरीके से? – MichaelLuthor

6

Image() constructor for HTMLImageElements dystroy के जवाब में बताया गया जाने के लिए सही तरीका है, लेकिन वहाँ एक चेतावनी है: निर्माता वास्तव में अतुल्यकालिक है! नतीजतन, आप कुछ ब्राउज़रों में अप्रत्याशित व्यवहार का अनुभव कर सकते हैं; मेरे सीमित प्रयोगों से, डाइस्ट्रॉय का कोड क्रोम में 100% समय काम करेगा, लेकिन कभी-कभी फ़ायरफ़ॉक्स और सफारी में भी। दूसरों के बारे में नहीं जानते।

यह करने के लिए सही तरीके से के रूप में, with an onload handler हो रहा है:

var img = new Image(); 
img.src = some_base64_image_source; 
console.log(img.width);  // This might print out 0! 
img.onload = function() { 
    console.log(img.width); // This will print out the width. 
} 
संबंधित मुद्दे