2013-06-03 14 views
8

Ich erstelle eine Bildergalerie mit jquery. Gibt es Möglichkeiten zu berechnen, ob ein Bild mit jQuery im Querformat oder im Hochformat ist?wie berechnet man, ob ein Bild Quer- oder Hochformat ist

Vielen Dank für Ihre Unterstützung.

+0

Prüfen Höhe/Breite-Verhältnis? Was hast du probiert? – JNF

+2

'wenn Breite> Länge dann Landschaft sonst Porträt' –

+0

@Christian Mark Dank Christian Mark – geovani075

Antwort

17

Sie können Breite und Höhe des Bildes einfach vergleichen.

var someImg = $("#someId"); 
if (someImg.width() > someImg.height()){ 
    //it's a landscape 
} else if (someImg.width() < someImg.height()){ 
    //it's a portrait 
} else { 
    //image width and height are equal, therefore it is square. 
} 
2

Below JavaScript-Funktion wird die am besten geeignete Ausrichtung

function get_orientation(src){ 

img = new Image(); 
img.src = src; 
var width = img.width; 
var height = img.height; 
height = height + height // Double the height to get best 
//height = height + (height/2) // Increase height by 50% 

if(width > height) { 
return "landscape"; 
} else { 
return "portrait"; 
} 

} 
+0

Dies setzt voraus, dass das Bild bereits in der Benutzeroberfläche geladen wurde. Sollten wir nicht warten, bis das Bildladeereignis ausgelöst wird, bevor wir das Verhältnis tatsächlich berechnen? –

+1

Warum "Höhe = Höhe + Höhe // Verdoppeln Sie die Höhe, um am besten zu sein"? –

0

Das ist für mich gearbeitet zurückkehren, um die natürliche Höhe/Breite unter Verwendung der ursprünglichen Eigenschaften zu erhalten.

 function imageOrientation(src) { 

      var orientation, 
      img = new Image(); 
      img.src = src; 

      if (img.naturalWidth > img.naturalHeight) { 
       orientation = 'landscape'; 
      } else if (img.naturalWidth < img.naturalHeight) { 
       orientation = 'portrait'; 
      } else { 
       orientation = 'even'; 
      } 

      return orientation; 

     } 
Verwandte Themen