2017-05-01 1 views
0

Ich lade Bilder auf s3 mit fog und carrierwave hoch. Ich verwende den folgenden Code für die Profilbild:Schienen | Carrierwave dreht das Bild um 90 Grad

version :listpic do 
    process :resize_to_fill_modfied => [100, 100] 
    end 

    version :usershow do 
    process :resize_to_fill_modfied => [225, 225] #user profile pic kullanılıyor 
    end 

    def resize_to_fill_modfied(width, height, gravity=::Magick::CenterGravity) 
     manipulate! do |img| 
     img.crop_resized!(width, height, gravity) unless (img.columns <= width && img.rows <= height) 
     img = yield(img) if block_given? 
     img 
     end 
    end 

Das Problem ist, wenn ich versuche, ein Bild zu 193x193 es bis 90 Grad dreht nach links. Warum das?

EDIT

Wenn ich versuche, 250x250 hochzuladen dreht sich wieder.

+0

Sie mit der Option abgerichtet haben hier erwähnt http://stackoverflow.com/questions/18519160/exif- image-rotation-issue-using-carrierwave-und-rmagick-to-upload-to-s3? – fanta

+0

Ich hatte vor kurzem das gleiche Problem. Ich gehe davon aus, dass diese Bilder mit einem Smartphone aufgenommen wurden. Ich verwende nicht carrierwave, aber ich habe 'auto_orient' von graphicsmagick verwendet, um das Bild korrekt zu drehen. Es gab einen Vorbehalt, der besagt, dass auto_orient den EXIF, der die Rotation an erster Stelle verursacht, nicht entfernt, also musste ich auto_orient verwenden und * dann * Strip EXIF-Daten. – Brennan

+0

Sie können das Tool unter http://metapicz.com/ verwenden, um zu sehen, welche Exif-Daten Ihr Bild enthält. Sie werden genau sehen, warum es gedreht wird – Brennan

Antwort

0

Ich sehe aus den Kommentaren zu der Frage, dass Sie "alle Lösungen ausprobiert" haben, aber haben Sie MiniMagick installiert?

# Add this in your Gemfile after CarrierWave and Fog: 
gem 'mini_magick' 
# then run `bundle install` 

Sobald Sie das getan haben, versuchen Sie es mit diesem in den Uploader:

def fix_exif_rotation 
    manipulate! do |img| 
    img.tap(&:auto_orient) 
    end 
end 
+0

Aber ich benutze RMagick, kann ich das gleiche mit RMagick tun? –

+0

MiniMagick ist eine Alternative für RMagick. Es sieht so aus, als ob du in der Lage sein solltest, etwas Ähnliches mit RMagick zu tun, aber ich kann nur mit dem sprechen, was ich oben gepostet habe, funktioniert bei mir mit MiniMagick. https://rmagick.github.io/image1.html#auto_orient – dnicole

Verwandte Themen