Vorschaubilder erzeugen

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Vorschaubilder erzeugen

    Hallo zusammen,

    habe mir eine Funktion geschrieben bzw. ein Codeschnipsel an meine Bedürfnisse angepasst um Vorschaubilder zu erzeugen. Übergeben tue ich an diese nun einen Pfad des aktuellen Bildes, den Ort des neuen Bildes, sowie maximale breite und maximale höhe des neuen Bildes:

    Und hier die eigentliche Funktion:

    Wie oben angedeutet will ich nun $max_width = "200"; ODER $max_height = "360";
    Heißt für mich, dass das Bild auf jeden Fall kleiner als 201x361 sein muss.

    Lade ich nun ein Bild in quer hoch, habe ich beispielsweise die Größe 200px × 124px erzeugt bekommen - Alles paletti, weil die maximalen Angaben nicht überschritten wurden.
    Lade ich jedoch ein hochkant Bild hoch, erhalte ich auf einmal 269px × 360px. Es wurde sich also an der maximalen Höhe orientiert, aber ich habe ja festgelegt, dass die Breite niemals über 200px gehen darf, wie kann es hier dann sein, dass diese 269 beträgt?

    Kann mir jemand helfen, wo der Fehler steckt? :(

    The post was edited 4 times, last by Tobbe5 ().

  • Ich glaub du hast dich etwas verheddert. Du musst lediglich schauen, welcher Skalierungsfaktor kleiner ist:

    Source Code

    1. $skal_vert = $max_height/$src_height;
    2. $skal_hor = $max_width/$src_width;
    3. $skal = min($skal_vert, $skal_hor); // kleinster Faktor
    4. if ($skal > 1) {
    5. $skal = 1; // Bild soll ja nicht vergrößert werden
    6. }
    7. $dest_height = $src_height*$skal;
    8. $dest_width = $src_width*$skal;


    Habs nicht getestet, müsste aber passen.