2009-07-22 23 views
7

Bir fotoğraf yüklüyorum, bir dikdörtgendir. Nasıl yeniden boyutlandırılabilir ve bir kareye kadar doldurulur?Paperclip (veya RMagick) ile nasıl kırpılır ve doldurulur?

Fotoğraf yatay konumdayken yukarıda ve altında olmalı, iki beyaz alan (bir kare şeklini korumak için) ve dikey olduğunda, fotoğrafın kenarlarında iki beyaz alan olmalıdır. . Ben PHP kullanıldığında, bir bu http://www.verot.net/php_class_upload_samples.htm

kullanmış

üst ve alt

örneğini doldurarak,

I oranını koruyarak,

100x150 göz at RoR ile Paperclip kullanıyorum. Bunu yapmanın en iyi yolu nasıl?

cevap

1

Bir stil tanımlamanız gerekiyor. Here's an example.

+0

Evet, biliyorum ama nasıl yapmalı? http://www.imagemagick.org/Usage/thumbnails/#fit – astropanic

+0

has_attached_file: resim,: styles => {: custom => "100x100>"} –

+0

bu, kare kare kutusundaki görüntünün ortalamasını yapar – astropanic

17

Burada 3 app/ataş w raylar üzerinde kullanılan budur. Ortaya getirmek için aşağıdaki ImageMagick seçeneklerini kullandım: arka plan, oluşturma, yerçekimi ve kapsam. Mini_magick işlemcisini kullanıyorum.

has_attached_file :image, 
    :styles => { :large => ["855x570>", :jpg], :medium => ["432x288>", :jpg], :small => ["276x184>", :jpg], :tiny => ["195x130>", :jpg] }, 
    :processor => "mini_magick", 
    :convert_options => { 
    :medium => "-background white -compose Copy -gravity center -extent 432x288", 
    :small => "-background white -compose Copy -gravity center -extent 276x184", 
    :tiny => "-background white -compose Copy -gravity center -extent 195x130" 
    } 
+1

İyi yazılmış örnek weppos sayesinde { başparmak => 'beyaz -Gravite merkezi -extent 50x50 -Arkaplan'}. Bu Paperclip 3.5.4 ile Rails 4'te çalışır. FYI Imagemagick arka plan rengini beyaza ayarlar, bu yüzden bu seçeneği belirtmek gerekli değildir. 'Orta: sizin stil tanımlarında bir sondaki' # 'yok: '-compose Kopya -Gravite merkezi sadece kafa doldu 432x288'' – scarver2

+0

-extent. Yani, ': büyük = [ "855x570 #",: jpg]' 855x570' sonra '#' resmi kesmek ve merkez için ataş söyler beri 'çalışmayacaktır. –