Dr Dau
ich wisch hier durch
Hallo!
Ich möchte dass Bilder die evtl. zu gross sind verkleinert angezeigt werden, damit es mir nicht das Seitenlayout zerhaut.
Dazu habe ich eine maximale Grösse von 500px angegeben, dieses Mass soll aber veränderbar sein.
Bisher hatte ich mich nur auf die Breite beschränkt, was auch wunderbar klappte.
Nun wollte ich aber auch die Höhe berücksichtigen.
Dazu habe ich 4 Testbilder mit folgender Grösse (Breite x Höhe):
Bild1=480x640
Bild2=600x450
Bild3=480x262
Bild4=525x700
Bild1 wird mit500x667 angezeigt.
Bild2 wird mit 667x500 angezeigt.
Bild3 wird korrekt mit 480x262 dargestellt da es unter den 500px liegt.
Bild4 wird mit 375x667 dargestellt.
Berechnen bzw. anzeigen lasse ich es mir mit folgendem Code (auf das Wesentliche gekürzt):
Ich weiss dass es verkehrt ist, aber ich stehe irgendwie auf dem Schlauch.
Gruss Dr Dau
Ich möchte dass Bilder die evtl. zu gross sind verkleinert angezeigt werden, damit es mir nicht das Seitenlayout zerhaut.
Dazu habe ich eine maximale Grösse von 500px angegeben, dieses Mass soll aber veränderbar sein.
Bisher hatte ich mich nur auf die Breite beschränkt, was auch wunderbar klappte.
Nun wollte ich aber auch die Höhe berücksichtigen.
Dazu habe ich 4 Testbilder mit folgender Grösse (Breite x Höhe):
Bild1=480x640
Bild2=600x450
Bild3=480x262
Bild4=525x700
Bild1 wird mit500x667 angezeigt.
Bild2 wird mit 667x500 angezeigt.
Bild3 wird korrekt mit 480x262 dargestellt da es unter den 500px liegt.
Bild4 wird mit 375x667 dargestellt.
Berechnen bzw. anzeigen lasse ich es mir mit folgendem Code (auf das Wesentliche gekürzt):
PHP:
$max_image_size = 500; // max. Breite/Höhe
$image_size = GetImageSize($this->getValueOf('ImageDir').$imgs[$image]); // Bildinformationen werden ausgelesen
$image_width = $image_size[0] > $max_image_size?round($max_image_size * ($image_size[0] / $image_size[1])):""; // Breite wird neu berechnet wenn über 500px
$image_height = $image_size[1] > $max_image_size?round($max_image_size * ($image_size[1] / $image_size[0])):""; // Höhe wird neu berechnet wenn über 500px
// Bildausgabe mit if/else
$out .= (($image_size[0] > $max_image_size) OR ($image_size[1] > $max_image_size))?"<img src=\"".$this->getValueOf('ImageDir').$imgs[$image]."\" border=\"0\" width=\"".$image_width."\" height=\"".$image_height."\" alt=\"\" />":"<img src=\"".$this->getValueOf('ImageDir').$imgs[$image]."\" border=\"0\" width=\"".$image_size[0]."\" height=\"".$image_size[1]."\" alt=\"\" />";
Gruss Dr Dau