2 Stimmen

Ruby on Rails - Carrierwave ermittelt die Bildabmessungen Breite und Höhe

Ich muss die Breite und Höhe der aktuellen Instanz von carrierwave kennen

Zum Beispiel:

image_tag image.photo_url,:width => image.photo.width, :height => image.photo.height

Aber das Problem ist, dass image.photo.width und image.photo.height nicht funktionieren.

Irgendwelche Ideen?

6voto

ronalchn Punkte 11975

Sie müssen ImageMagick, RMagick oder MiniMagick installieren. Dann öffnen Sie die Datei (das Bild), bevor Sie seine Höhe herausfinden können.

Beispiel: https://github.com/jnicklas/carrierwave#conditional-versions (siehe die Methode is_landscape?), hier kopiert:

  def is_landscape? picture
    image = MiniMagick::Image.open(picture.path)
    image[:width] > image[:height]
  end

Oder diese andere verwandte Frage:

Carrierwave und mini_magick finden Breite und Höhe

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X