PDA

View Full Version : [ JavaScript ] Dimensione Immagini Errate - Genymus


Genymus
14-06-2009, 20:32
Salve, utilizzo questo script per ottenere la dimensione dell'immagine:

var img = new Image();
imm.src = '..\PhotoX.jpg';
var w = img.width;
var h = img.height;
alert("Altezza: " + h + "\nLarghezza: " + w );


Solo che mi restituisce per tutte le immagini "Altezza 30; Larghezza 38" tranne a quelle inferiori a quelle misure che me le dà con quelle giuste.

Cosa posso fare?

Genymus

MEMon
14-06-2009, 21:38
Aspettare che l'immagine sia stata effettivamente caricata.

Genymus
15-06-2009, 00:09
salve, come posso fare per saperlo?

Genymus
15-06-2009, 00:45
ho provato così:
var img = new Image();
img.src = '..\PhotoX.jpg';
do {
} while (img.complete == false);
var w = img.width;
var h = img.height;
alert("Altezza: " + h + "\nLarghezza: " + w );
però il ciclo si ripete all'inverosimile bloccando il browser... com'è devo fare?

Genymus

MEMon
15-06-2009, 01:01
ho provato così:
var img = new Image();
img.src = '..\PhotoX.jpg';
do {
} while (img.complete == false);
var w = img.width;
var h = img.height;
alert("Altezza: " + h + "\nLarghezza: " + w );
però il ciclo si ripete all'inverosimile bloccando il browser... com'è devo fare?

Genymus

Devi usare l'evento onload di Image,

img.onload=function(){
var w = img.width;
var h = img.height;
alert("Altezza: " + h + "\nLarghezza: " + w );
}

Genymus
15-06-2009, 12:52
non funziona, ci mette troppo tempo e alla fine non mi dà un risultato, mi servirebbe una cosa breve.

MEMon
15-06-2009, 12:54
non funziona, ci mette troppo tempo e alla fine non mi dà un risultato, mi servirebbe una cosa breve.

posta il codice che hai usato.

Genymus
15-06-2009, 13:56
function control() {
var img = new Image();
img.src = '..\ImageX.jpg';
img.onload=function(){
var w = img.width;
var h = img.height;
alert("Altezza: " + h + "\nLarghezza: " + w );
}
}
</script>

MEMon
15-06-2009, 13:58
function control() {
var img = new Image();
img.src = '..\ImageX.jpg';
img.onload=function(){
var w = img.width;
var h = img.height;
alert("Altezza: " + h + "\nLarghezza: " + w );
}
}
</script>

Metti l'onload prima di definire il source dell'immagine, e assicurati che il source sia corretto. Vedrai che funziona.

Genymus
15-06-2009, 14:39
adesso funziona era sbagliato il percorso.
era:
../ImageX.jpg
e non:
..\ImageX.jpg
Grazie mille

Genymus