Auge: Gleichungen mit PHP?

Beitrag lesen

Hallo

Ich habe eine etwas komplizierte Frage: Ich möchte ein auf meinem Server hochgeladenes Bild dynamisch skalieren, so dass die größere Größe (Breite oder Höhe) immer auf 150 Pixel und die kleinere Größe dem entsprechend skaliert wird.

Wenn ich also ein Bild mit 200x300 Pixel habe, soll es dann auf 150x225 Pixel skaliert werden!

Um die Höhe und Breite des Bildes auszulesen, habe ich folgende Funktion geschrieben:

function getFileSizeW($datei_name){
$blah = getimagesize($datei_name);
$type = $blah['mime'];
$width = $blah[0];
return $width;
}

  
Warum erfragst du den Typ, wenn du diese Info garnicht verwendest? Außerdem gibt dir getimageinfo alle Informationen, die du brauchst, mit einem mal. Du brauchst nicht mehrere Funktionen.  
  
~~~php
  
$blah = getimagesize($datei_name);  
/*  
$blah[0]=Breite  
$blah[1]=Hoehe  
$blah[2]=Typ  
$blah[3]=Zeichenkette zur Verwendung im IMG-Tag von HTML.  
*/  

Soviel dazu.

Die Gleichung funktioniert genauso, wie im realen Leben. Stelle zuerst fest, welche die längere Seite ist ($blah[0] oder $blah[1]). Diese Seite soll, laut deinen obigen Angaben, 150px lang werden. Stelle mittels des Dreisatzes fest, wieviel Prozent 150 Pixel von der gegebenen Länge sind. Bei einer gegebenen größeren Seite von 300px sind dies 50%.

Diese Prozentwert ist der Faktor, um den du nun beide Seiten skalieren musst. 50% entspricht dem Faktor 0.5. Teile also den ermittelten Prozentwert durch 100, multipliziere beide Seitenlängen mit diesem Wert (hier 0.5) und berechne mit den ermittelten neuen Seitenlängen das Bild neu.

Tschö, Auge

--
Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
(Victor Hugo)
Veranstaltungsdatenbank Vdb 0.1