2011-02-14 18 views
6

Ruby on Rails 3'ü çalıştırıyorum ve Paperclip eklentisini/gemisini kullanarak bir yükleme görüntüsünün kalitesini düşürmek istiyorum. Bunu nasıl yapabilirim? Benim modeli dosyasında Şu andaPaperclip'i kullanarak bir yükleme görüntüsünün kalitesini nasıl azaltabilirim?


Ben:

.jpg biçimine görüntüleri dönüştürür ve boyutları ayarlayacaktır
has_attached_file :avatar, 
    :styles  => { 
     :thumb  => ["50x50#", :jpg], 
     :medium => ["250x250#", :jpg], 
     :original => ["600x600#", :jpg] } 

. paperclip wiki itibaren

cevap

16

deneyin convert_options kullanarak. ImageMagick en convert komut satırında deneyerek geçmek doğru argümanları anlamaya kez James gibi

has_attached_file :avatar, 
        :styles   => { :thumb => '50x50#' }, 
        :convert_options => { :thumb => '-quality 80' } 
+0

kusursuz çalışıyor! – flunder

12

, kalite için bir seçenek var:

class User < ActiveRecord::Base 
    has_attached_file :photo, 
        :styles => { 
         :small => { 
         :geometry => '38x38#', 
         :quality => 40, 
         :format => 'JPG' 
         }, 
         :medium => { 
         :geometry => '92x92#', 
         :quality => 50 
         } 
end 
+1

daha büyüklüğünü azaltabilir Resimdeki tüm profili ve diğer kabartmak kaldırabilir ImageMagick arasında -strip seçenek ama dikişler işe yaramıyor: Paperclip görüntü kalitesini düşürmez! Ben de sunucuyu yeniden başlatmayı denedim. – user502052

+0

Benim için çalıştı. Raylar konsolundaysanız ve yeniden işlemeyi çalıştırıyorsanız, rayların konsolundan çıkıp tekrar çalıştırdığınızdan emin olun, aksi halde model değişikliklerini almayacaktır. –

+0

Bu çözüm kullanımdan kaldırılmış gibi görünüyor. Kaynak olarak belirtilen wiki bağlantısı artık bozuldu ve bu şekilde uygulamak için harcadığım çaba çalışmadı. – jonesbp

3

diyor, sen James'in örnekte olduğu gibi convert_options seçeneği yoluyla ataç için bu iletebilirsiniz.

Birden çok bağımsız değişkeniniz varsa, bunları bir dizi olarak geçirin. Burada bir süre boyunca emek bir örnek:

-quality hariç
:convert_options => {:medium => ["-shave", "2x2", "-background", "white", 
           "-gravity", "center", "-extent", 
           "530x322", "+repage"], 
        :small => ["-shave", "1x1"] } 
0

, şöyle yapılmış

has_attached_file :photo, 
    :styles => { 
    :thumb => "100x100#" }, 
    :convert_options => { 
    :thumb => "-quality 75 -strip" } 
İlgili konular