Auto-Skalierung von Bildern
Dirk
- javascript
Hallo,
ich erlaube es Usern, einer selbst erstellten Seite per serverseitigen ASP-Skript Bilder hinzuzufügen. Manchmal werden jedoch viel zu breite Bilder, die die Artikelansicht dann komplett zerstören, hochgeladen.
Da ein direkter Bildzugriff mit meiner ASP-Version nicht möglich ist, fange ich alle dargestellten Bilder beim Seitenaufruf wie folgt ab:
function image_resize(image_path,max_width,new_width,alt){
img = new Image();
img.src = image_path;
breite = Number(img.width);
hoehe = Number(img.height);
if (breite > Number(max_width)){
factor = Number(hoehe) / Number(breite);
new_height = Number(new_width) * factor;
document.write('<img src="'+image_path+'" width = "' + new_width + '" height = "' + new_height + ' alt = "'+ alt +'">');
}
else
{
document.write('<img src="'+image_path+'" alt = "' + alt +'">');
}
}
Die Funktion lädt die Bilder vor und skaliert entsprechend.
Leider wird die korrekte Breite des Bildes erst nach einer Aktualisierung des Artikels (F 5) richtig ausgegeben, obwohl der Aufruf der Funktion zur Laufzeit erfolgt und das Bild durch das Vorladen eigentlich bereits auf dem Client vorhanden sein müßte.
Was läuft da falsch?