Ich verwende Paperclip, um Bilder wie folgt zu skalieren:
%Vor% Wenn das Originalbild 32x32
ist:
Das resultierende medium
Bild hat die gleiche Größe (d. h. 32x32
), aber die Datei ist etwas anders und das Bild sieht ein bisschen verändert aus. Warum ist das so?
Die resultierende thumb
size ist 80x80
(sie sieht gestreckt aus, um zu dieser Größe zu passen).
Wie kann ich die Größe des Bildes vermeiden, wenn es zu klein ist? Angenommen, die Abmessungen des Originalbildes liegen in den Variablen width
und height
.
(1) Wahrscheinlich weil Paperclip ein JPEG dekodiert und dann ein neues JPEG schreibt / kodiert. JPEG ist ein verlustbehaftetes Format, so dass jede Kodierung das Bild verschlechtert. Sie können das convert_options
verwenden, um das JPEG-Qualität , aber Sie werden vermutlich eine Verschlechterung Ihrer JPEG-Dateien akzeptieren müssen.
(2) liegt daran, dass Paperclip sich so verhält, wie es gesagt wurde. Paperclip verwendet ImageMagick, um das Heavy Lifting durchzuführen, und die Style-Dimensionen sind nur ImageMagick-Geometriestrings mit eine Änderung :
Paperclip fügt auch die Option "#" hinzu (z. B. "50x50 #"), die das Bild so skaliert, dass es maximal in die Abmessungen passt und den Rest abschneidet (in der Mitte gewichtet).
Ihr :thumb
Stil verwendet "#", also sagen Sie Paperclip, dass Sie ein 80x80 Bild haben möchten, auch wenn das Bild skaliert und zugeschnitten werden muss, um dorthin zu gelangen. Sie können das "#" aus der Bemaßungszeichenfolge löschen und, falls gewünscht oder angebracht, eines der hinzufügen die anderen Modifikatoren .
Tags und Links ruby-on-rails-3 ruby-on-rails imagemagick paperclip