2012-02-03 9 views

Odpowiedz

0

Niezupełnie zrozumiałe twoje pytanie.

Ale można użyć javascript, aby uzyskać szerokość i wysokość obrazu.

a następnie przekazać go do

/Five arguments: the element, destination (x,y) coordinates, and destination 
// width and height (if you want to resize the source image). 
context.drawImage(img_elem, dx, dy, dw, dh); 

podczas rysowania obrazu na płótnie.

lub sprawdzić, czy to pomaga

http://jsfiddle.net/jjUHs/

1

jeśli cię rozumiem poprawnie, można użyć metody getComputedStyle.

var object = document.getElementById(el); 
var computedHeight = document.defaultView.getComputedStyle(object, "").getPropertyValue("width"); 
6

HTMLImageElement dwie właściwości tego, naturalWidth i naturalHeight. Użyj ich.

Jak w:

var img = new Image(); 

img.addEventListener('load', function() { 
    // once the image is loaded: 
    var width = img.naturalWidth; // this will be 300 
    var height = img.naturalHeight; // this will be 400 
    someContext.drawImage(img, 0, 0, width, height); 
}, false); 

img.src = 'http://placekitten.com/300/400'; // grab a 300x400 image from placekitten 

dobrze jest ustawić źródło dopiero po słuchacz zdarzenie jest zdefiniowane, patrz eksploracji Phrogz jest na tym tutaj: Should setting an image src to data URL be available immediately?

+0

Czy obsługuje on wszystkie nowoczesne przeglądarki – LittleFunny

3

Nie można odzyskać szerokość/wysokość, zanim obraz został załadowany.

Spróbuj coś takiego:

// create new Image or get it right from DOM, 
// var img = document.getElementById("myImage"); 
var img = new Image(); 

img.onload = function() { 
    // this.width contains image width 
    // this.height contains image height 
} 

img.src = "image.png"; 

Byle onload nie zadziała, jeśli obraz został załadowany przed wykonaniem skryptu. Ostatecznie możesz osadzić skrypt w html <img src="test.jpg" onload="something()">

Powiązane problemy