[PHP]Bildgröße an vorgegebene Größe anpassen

Matthiasnet

Well-known member
ID: 116869
L
14 August 2006
271
7
Hallo,

ich möchte gerne ein Bild in der Höhe und Breite an eine bestimmte Größe anpassen z.B. 90*70, wobei es nicht verzerrt werden soll. Somit sollte es entweder 90px breit sein oder kleiner, damit die 70px höhe auch vorhanden sind oder eben umgekehrt. Es sollte sich auf jeden Fall nicht verzerren.

Momentan ist mir nur nicht klar wie ich das realisieren soll, hat da evt. jemand einen Denkanstoß für mich??

Werte werden natürlich mit getimagesize() rausgehollt...

Grüße

Matthias
 
Hallo,

ich möchte gerne ein Bild in der Höhe und Breite an eine bestimmte Größe anpassen z.B. 90*70, wobei es nicht verzerrt werden soll. Somit sollte es entweder 90px breit sein oder kleiner, damit die 70px höhe auch vorhanden sind oder eben umgekehrt. Es sollte sich auf jeden Fall nicht verzerren.

Momentan ist mir nur nicht klar wie ich das realisieren soll, hat da evt. jemand einen Denkanstoß für mich??

Werte werden natürlich mit getimagesize() rausgehollt...

Grüße

Matthias

Könntest die unterschiedlichen divisoren ausrechnen und durch den größeren teilen...

So in etwa:

$xdiv=$bildbreite/90;
$ydiv=$bildhoehe/90;
if($xdiv>$div)
$bildbreite=$bildbreite/$xdiv;,
$bildhoehe=$bildhoehe/$xdiv;
else
$bildbreite=$bildbreite/$ydiv;,
$bildhoehe=$bildhoehe/$ydiv;

so müssts glaub klappen...

mfg
 
PHP:
          $maxwidth=90;
          $maxheight=70;

          // Bilddaten feststellen
          $size=getimagesize($PicPathIn."x_".$bild);
          $breite=$size[0];
          $hoehe=$size[1];
          if($breite>=$hoehe && $breite>$maxwidth){
          $neueBreite=$maxwidth;
          $neueHoehe=intval($hoehe*$neueBreite/$breite);
          }
          elseif($hoehe>$breite && $hoehe>$maxheight){
          $neueHoehe=$maxheight;
          $neueBreite=intval($breite*$neueHoehe/$hoehe);
          }else{
          $neueHoehe=$hoehe;
          $neueBreite=$breite;
          }

glaube das sollte dir weiterhelfen ;)