Ankündigung

Einklappen
Keine Ankündigung bisher.

Berechnung von "Contain"

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Berechnung von "Contain"

    Mit Sicherheit kennt ihr alle die Möglichkeit per CSS Hintergrundbildern die "größe" "Contain" zu geben (mit "background-size:contain").
    Ich möchte jetzt vom Benutzer hochgeladene Bilder skalieren (mit PHP), und zwar so, wie es auch "Contain" tun würde.

    Das heißt, ich habe eine feste Breite und eine feste höhe und dann die gegebene Größe des hochgeladenen Bildes. Wie errechne ich jetzt wie ich das Bild skalieren muss, damit es hinterher genau so in meinen <div> Conatiner passt, wie als würde ich die CSS Eigenschaft (background-size:contain) anwenden?

    Ich hoffe jemand kann mir da helfen, ich steh dabei gerade irgendwie auf dem Schlauch... Ich habe schon paar Sachen probiert, aber damit komme ich immer nicht weit...


    MfG.

  • #2
    http://us2.php.net/manual/en/function.imagescale.php

    Meinst du sowas?
    ?!? Woot Woot...

    Kommentar


    • #3
      Also ja, damit will ich das Bild skalieren, aber mir geht es um die Berechnung, weil ich will ja keine festen werte vorgeben. Ich könnt natürlich (als beispiel) als werte 1920x1080p vorgeben, dann wird aber ein bild mit 1920x800px quasi langgezogen, das soll aber nicht - es soll halt so wie contain es machen würde. Mir gehts halt wie gesagt nur um die Berechnung.

      Kommentar


      • #4
        sowas?

        max x = 700
        max y = 500

        ist x = 1920
        ist y = 1080

        verhältnis x = ist x / max x <-- ~2,74
        verhältnis y = ist y / max y <-- ~2,16

        verwendetes verhältnis = größerer Wert <-- ~2,74

        soll x = ist x / verwendetes verhältnis <-- 700
        soll y = ist y / verwendetes verhältnis <-- 393,75

        Kommentar


        • #5
          Tipp: In der Schule lernst du das beim mathematischen Thema Dreisatz.

          Wenn du das Bild nur kleiner ausgeben willst, kannst du in CSS bei normalen Bildern max-width und max-height verwenden. Da kannst du dir eigene Berechnungen sparen.

          Soll es aber als Thumbnail gespeichert werden, also in PHP berechnet, musst du es ja auch noch rendern lassen. Dafür empfiehlt sich die GDLib. Und wenn ich mich richtig erinnere ist dein Thema bei den GDLib Funktionen in den Kommentaren mit aufgeführt. (Createimagefromjpeg usw..) Das ist ein richtiger Klassiker.

          Kommentar

          Lädt...
          X