Hi@all
Ich habe eine maximale Anzeigefläche von 320 x 240 pix
Nun möcht ich das jedes Bild, egal wie groß, in Abhängigkeit seiner eigenen Größe darin angezeigt wird ohne Verzerrung, aber irgendwie macht es mein Code nicht, also es muss nicht so groß sein wie die Anzeigefläche selbst, sondern darin angezeigt werden, also wenn breiter dann eben maximalbreit, höhe kann dann kleiner sein, und eben wenn höher, dann eben maxHöhe und breite kann kleiner sein.
Ich übergebe das Bild, die MaxBreite 320 und die MaxHoehe 240
resizeImage($bild01,320,240);
Im <img> setze ich dann per style="width: $neueBreite; height:$neueHoehe;"
#EDIT:
Hab den Fehler gefunden, hatte bei der style-Angabe 'px' vergessen, also: style="width: ".$neueBreite."px; height:".$neueHoehe."px;"
Jetzt aber noch eine andere Frage dazu.
Kann ich gleich das Funktionsergebnis in die style anweisung schreiben, also: also: style="width: ".resizeImage($ImagePath,$Breite_Max,$Hoehe_Max)[0]."px; height:".resizeImage($ImagePath,$Breite_Max,$Hoehe_Max)[1]."px;"
Aber das scheint nicht zu funktionieren, auch die Ausgabe: echo resizeImage($ImagePath,$Breite_Max,$Hoehe_Max)[0] gibt mir einen Fehler (Parse error: syntax error, unexpected '[', expecting ',' or ';' in ...) zurück
Thx@all
PHP-Code:
function resizeImage($ImagePath,$Breite_Max,$Hoehe_Max)
{
$size=getimagesize($ImagePath);
//Verkleinere Bild unter Beibehalt des Seitenverhältnisses
if($size[0] == $size[1])
{
$neueBreite = $Breite_Max;
$neueHoehe = $Hoehe_Max;
}
elseif ($size[0] < $size[1])
{
//Wenn Breite kleiner als Höhe
$neueHoehe = $Hoehe_Max;
$neueBreite = $size[0]*$neueHoehe/$size[1];
}
else
{
//wenn Höhe kleiner als Breite
$neueBreite = $Breite_Max;
$neueHoehe = $size[1]*$neueBreite/$size[0];
}
return array($neueBreite, $neueHoehe);
}
Nun möcht ich das jedes Bild, egal wie groß, in Abhängigkeit seiner eigenen Größe darin angezeigt wird ohne Verzerrung, aber irgendwie macht es mein Code nicht, also es muss nicht so groß sein wie die Anzeigefläche selbst, sondern darin angezeigt werden, also wenn breiter dann eben maximalbreit, höhe kann dann kleiner sein, und eben wenn höher, dann eben maxHöhe und breite kann kleiner sein.
Ich übergebe das Bild, die MaxBreite 320 und die MaxHoehe 240
resizeImage($bild01,320,240);
Im <img> setze ich dann per style="width: $neueBreite; height:$neueHoehe;"
#EDIT:
Hab den Fehler gefunden, hatte bei der style-Angabe 'px' vergessen, also: style="width: ".$neueBreite."px; height:".$neueHoehe."px;"
Jetzt aber noch eine andere Frage dazu.
Kann ich gleich das Funktionsergebnis in die style anweisung schreiben, also: also: style="width: ".resizeImage($ImagePath,$Breite_Max,$Hoehe_Max)[0]."px; height:".resizeImage($ImagePath,$Breite_Max,$Hoehe_Max)[1]."px;"
Aber das scheint nicht zu funktionieren, auch die Ausgabe: echo resizeImage($ImagePath,$Breite_Max,$Hoehe_Max)[0] gibt mir einen Fehler (Parse error: syntax error, unexpected '[', expecting ',' or ';' in ...) zurück
Thx@all
Kommentar