2011-08-11 5 views
17

Paperclip은 원본 이미지를 "원본"폴더에 저장합니다. 원본 이미지의 크기를 조정하는 방법이 있습니까? 디스크 공간을 절약하기 위해 원본을 더 작게 만들고 싶습니다.Paperclip에서 원본 이미지 크기 조정

방문자가 2592x1936으로 사진을 업로드하면

그래서, 예를 들어, 내가, 1024 × 1024로 우리는 치수 설정 같은 방법을 저장할 :에 엄지 손가락 이미지 : 스타일

업데이트 (해결)

업로드시 원본 이미지의 크기를 자동으로 조정하는 방법을 찾았습니다. 하나는 단지 을 추가해야합니다 : 원래를 스타일에 :

class MyModel < ActiveRecord::Base 
    has_attached_file :photo, 
     :styles => { :original => "1024x1024>", :thumb => "150x150>" } 
end 
+1

소원은 내가 그 생각했던 : 같은 귀하의 방법을 볼 수 있습니다. 감사. – vise

+0

ImageMagick의 크기 조정 구문에 대한 자세한 내용은 http://www.imagemagick.org/Usage/resize/#resize –

+1

여기에서 자세한 내용을 확인할 수 있습니다. 그러나 나는 그것을 두 번 할 수 있었으면 좋겠다. 하나는 질문에 대한 답변이고 다른 하나는 가장 좋은 답변입니다. – alybadawy

답변

1

내가 클립이 자체적으로 크기를 조정 않습니다 모르겠어요. Rmagick을보고이 작업을 수행해야 할 수도 있습니다. 나는 RMagick (또는 minimagick)을 가져오고 before_save 콜백을 사용하여 :resize 메서드를 실행하여 RMagic에서 이미지의 크기를 조정하도록 알려주려고합니다.

class Image < ActiveRecord::Base 
    belongs_to :profile 
    before_save :resize 

    def resize 
    self.image = self.image.resize "1024x1024" 
    end 
end 

또는

class Image < ActiveRecord::Base 
    belongs_to :profile 
    before_save do 
    self.image = self.image.resize "1024x1024" 
    end 
end 
+0

Caley Woods, 답변 해 주셔서 감사합니다.하지만 Paperclip으로 원본 이미지의 크기를 조정할 수있는 방법이 있는지 알고 싶습니다. : thumb 이미지를 만들 때 크기 조정을 수행합니다. 원본 크기 조정 방법이있을 수 있습니다. – Evgenii

+0

이것을 염두에두고 클립 클립을 포크하고 소스를 수정하여 원래 크기가되도록 할 수 있습니다. 오픈 소스가 위대한 이유입니다. –

+0

또한 Evgeny는 [this asciicast] (http://asciicasts.com/episodes/134-paperclip)에서 지적한대로'has_attached_file : photo, '형식의 클립으로 제공되는 크기 조정 작업을 수행하는 데 imagemagick이 필요합니다. styles => {: small => "150x150>"}'''그리고 당신은 [여기 읽으세요] (http://www.imagemagick.org/script/command-line-processing.php#geometry)도 원할 것입니다. 가로 세로 비율을 처리하기 위해 크기를 사용한 후에 사용할 수있는 문자를 지적합니다. –