Lars: Bildformat erkennen

Hallo,

ist es möglich mit PHP automatisch zu ermitteln ob es sich um ein Hoch- oder Querformat Bild handelt?

  1. Hi,

    ist es möglich mit PHP automatisch zu ermitteln ob es sich um ein Hoch- oder Querformat Bild handelt?

    aber selbstverständlich. Die Funktion getimagesize() ist dir noch nicht begegnet?

    Einfach damit Breite und Höhe des Bildes abfragen, vergleichen, gut.
    Was man damit nicht erkennt: Bilder, die durch Hinzufügen von neutralen Rändern in ein quadratisches Format gebracht wurden. Aber das ist vermutlich nicht so häufig der Fall.

    So long,
     Martin

    --
    Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
    1. Hallo,

      Einfach damit Breite und Höhe des Bildes abfragen, vergleichen, gut.

      Wer es komplizierter mag, fragt das EXIF-tag 'Orientation' ab. Das ist dafür dann aber auch nicht so zuverlässig.

      Gruß
      Kalk

      1. Hi,

        Einfach damit Breite und Höhe des Bildes abfragen, vergleichen, gut.

        Wer es komplizierter mag, fragt das EXIF-tag 'Orientation' ab. Das ist dafür dann aber auch nicht so zuverlässig.

        ... was vor allem daran liegt, dass längst nicht alle Bilder EXIF-Daten enthalten.

        Und nach dem Bearbeiten stimmen sie oft nicht mehr - z.B. wenn man ein Querformat-Bild so beschneidet, dass effektiv ein Hochformat-Bild übrigbleibt.

        Ciao,
         Martin

        --
        Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
    2. Moinsen zusammen,

      dazu hab ich auch eine Frage, angenommen ich habe mehrere unterschiedliche: horizontal breite wie auch vertikal hohe Bilder, die kommen in ein div mit den Masseinheiten vw und vh (das (ich sag mal) "Foto- fenster" soll sich nicht gross vergrössern auf meiner website / zusätzlich kommt noch ein width: auto und height: 100% hinzu!)

      Jetzt passiert bei stgr++ folgendes, das horizontal hohe foto vergrössert sich bis es das div rechts und links erreicht hat und dann bleibt die grösse des Fotos so, die höhe passt sich an (wird länger!). Ich würde es aber viellieber so haben das der Leerraum rechts und links bei strg++ genau so bleibt. Wäre das eine Rechenaufgabe in php (sagen wir ersteinmal, simpel in den Raum:)

      Breite / width (mit vw) des div`s MINUS Bildbreite (errechnet mit getimagesize()) und das ergebnis durch Zwei, dann hätte man den "Luftraum" rechts und links, oder nichteinmal durch zwei teilen dann hätte man die neue div-Breite oder??? Hätte dann der neue wert vw oder px???? Puuuuhhhh... darüber denke ich auch gerade nach wegen meinem Problem.

      Grüsse der siedler

      1. Hallo,

        dazu hab ich auch eine Frage …

        willst du die nicht lieber hier stellen?

        Gruß
        Jürgen

      2. Hallo,

        kleiner Tipp am Rande: Absätze würden deinen Text wesentlich besser lesbar machen. Und damit meine ich nicht, einzelne Sätze durch Drücken der Enter-Taste auseinanderzureißen. Das ist nicht sinnvoll.

        angenommen ich habe mehrere unterschiedliche: horizontal breite wie auch vertikal hohe Bilder, die kommen in ein div mit den Masseinheiten vw und vh (das (ich sag mal) "Foto-fenster" soll sich nicht gross vergrössern auf meiner website / zusätzlich kommt noch ein width: auto und height: 100% hinzu!)

        Das heißt, die Maße des Containers sind fix, und das Bild soll so skaliert werden, dass es die Höhe komplett ausfüllt. Dann sprengt es aber den Container eventuell in der Breite.

        Jetzt passiert bei stgr++ folgendes, das horizontal hohe foto vergrössert sich bis es das div rechts und links erreicht hat und dann bleibt die grösse des Fotos so, die höhe passt sich an (wird länger!).

        Hä? Normalerweise bleibt das Seitenverhältnis von Bildern beim Zoomen konstant, und das Bild wird nicht verzerrt.

        Ich würde es aber viellieber so haben das der Leerraum rechts und links bei strg++ genau so bleibt.

        Das ist aber ein Widerspruch.

        Wäre das eine Rechenaufgabe in php (sagen wir ersteinmal, simpel in den Raum:) Breite / width (mit vw) des div`s MINUS Bildbreite (errechnet mit getimagesize()) und das ergebnis durch Zwei, dann hätte man den "Luftraum" rechts und links, oder nichteinmal durch zwei teilen dann hätte man die neue div-Breite oder???

        Ja. Nur dass dir das nichts nützt, weil du serverseitig (also in PHP) die Korrelation zwischen vw bzw. vh und px nicht kennst - die ergibt sich ja erst durch die Größe des Browserfensters beim Client.

        Das hatten wir doch vor ein paar Tagen erst. Ich habe da so ein Déjà Vu.

        So long,
         Martin

        --
        Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
      3. @@einsiedler

        Bilder, die kommen in ein div mit den Masseinheiten vw und vh (das (ich sag mal) "Foto- fenster" soll sich nicht gross vergrössern auf meiner website / zusätzlich kommt noch ein width: auto und height: 100% hinzu!)

        ?? Wieso?

        Mir scheint, du willst eher img { max-width: 100%; max-height: 100% } (Der Selektor sollte vermutlich noch spezieller sein.)

        Ich würde es aber viellieber so haben das der Leerraum rechts und links bei strg++ genau so bleibt.

        Dann zentrierst du das Bild im Container, z.B. per div { text-align: center } (Zum Selektor gilt das oben Gesagte.)

        Auch vertikale Zentrierung sollte nun dank Flexbax auch kein Problem mehr sein.

        Wäre das eine Rechenaufgabe in php (sagen wir ersteinmal, simpel in den Raum:) Breite / width (mit vw) des div`s …

        Noch so einer

        LLAP 🖖

        --
        “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
        Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
    3. @@Der Martin

      Einfach damit Breite und Höhe des Bildes abfragen, vergleichen, gut.
      Was man damit nicht erkennt: Bilder, die durch Hinzufügen von neutralen Rändern in ein quadratisches Format gebracht wurden.

      Doch erkennt man: Höhe = Breite. ;-b Es handelt sich um ein quadratisches Bild (eine Grafik).

      Dass das menschliche Auge das in „Bild“ und „Ränder“ zerlegt, steht auf einem anderen Blatt.

      LLAP 🖖

      --
      “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
      Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
      1. Hallo,

        Was man damit nicht erkennt: Bilder, die durch Hinzufügen von neutralen Rändern in ein quadratisches Format gebracht wurden.

        Doch erkennt man: Höhe = Breite. ;-b Es handelt sich um ein quadratisches Bild (eine Grafik).

        hast du keine Rollfilmkamera (Bildformat 6cm*6cm) mehr kennengelernt?

        Gruß
        Jürgen

        1. Hi,

          Doch erkennt man: Höhe = Breite. ;-b Es handelt sich um ein quadratisches Bild (eine Grafik).

          hast du keine Rollfilmkamera (Bildformat 6cm*6cm) mehr kennengelernt?

          also ich kenne die nur vom Hörensagen bzw. aus alten Büchern. Für mich fing die Fotografie mit 24x36 an, bevor Digitalkameras sich durchgesetzt haben.

          Ciao,
           Martin

          --
          Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
        2. @@JürgenB

          hast du keine Rollfilmkamera (Bildformat 6cm*6cm) mehr kennengelernt?

          Doch, ich hatte zuerst eine Pouva Start.

          Hab auch vor ein paar Jahren noch mit dem Gedanken gespielt, mir eine Pentacon Six zuzulegen. Ist aber bei dem Gedanken geblieben.

          LLAP 🖖

          --
          “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
          Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|