Image Dimensionen erkennen
netghost
- sonstiges
Ich möchte in einer Webseite einen Link auf ein Image (Bild) setzen, weiss allerdings noch nicht zum zeitpunkt der Seitenerstellung welche dimension das bild hat (breite x höhe). Wie kann ich diese Daten aus der zu öffnenden Datei beim laden der Seite erkennen? Javascript? Es werden nur Jpg und Gif verwendet.
Danke Netghost
Moin Netghost,
Ich möchte in einer Webseite einen Link auf ein Image (Bild) setzen, weiss allerdings noch nicht zum zeitpunkt der Seitenerstellung welche dimension das bild hat (breite x höhe). Wie kann ich diese Daten aus der zu öffnenden Datei beim laden der Seite erkennen? Javascript? Es werden nur Jpg und Gif verwendet.
Warum gibst du denn überhaupt eine größe an? Du kannst doch einfach nichts, oder 100% bei der größenangabe angeben, oder?
Falls das aber aus irgendeinem Grund bei dir nicht gehen sollte, würde ich empfehlen, dass mit einer Serverseitigen Sprache zu prüfen. Etwa mit Perl und dem Modul Image::Size.
Grüße Andres Freund
Hallo Netghost,
mit PHP kann man die Daten ermitteln lassen
$data = getimagesize("path_to_image");
Das funktioniert auch ohne GD-Lib.
Mit JavaScript sehe ich keine Chance.
Grüße
Chris (C)
Hallo nochmal,
habe da doch glatt was übersehen. Mit JavaScript kann man auf die Daten der Image-Objekte auch zugreifen. Aber erst wenn das Bild geladen ist. Danach kann man dann z.B. das Fenster mit resizeTo() auf die passende Größe einstellen. Ist aber ein ziemlicher Krampf, da die Browser alle andere Maße für die Fenster ansetzen (innen, außen mit und ohne Rand, etc)
Außerdem muss das resizeTo() mesitens mit setTimeout() verzögert werden, da die Daten des Bildes erst zur Verfügung stehen, wenn der Kanal zum Bild wieder geschlossen ist.
Wie man die Daten abfragt, steht in Self.
Grüße
Chris (C)
<html><head><title>Test</title>
</head><body>
<img src="christa.gif" name="Christa" alt="Christa">
<script type="text/javascript">
<!--
document.write(document.Christa.name + "<br>");
document.write(document.Christa.width + " x " + document.Christa.height + " Pixel");
//-->
</script>
</body></html>
<img src="christa.gif" name="Christa" alt="Christa">
<script type="text/javascript">
<!--
document.write(document.Christa.name + "<br>");
document.write(document.Christa.width + " x " + document.Christa.height + " Pixel");
//-->
</script>
</body></html>
Hi Chris,
danke erstmal, das ist genauso die richtung die ich suche, allerdings will ich die bilder selbst redimensionieren, bevor sie angezeigt werden, also preload, dann grösse ermitteln dann in neuer dimension im text anzeigen.
Netghost