我正在为我的应用程序使用Paperclip,图像不符合我设置的尺寸。我正在使用paperclip和rmagick并安装了ImageMagik。当我跑转换时我得到了
C:\Program Files\ImageMagick-6.8.9-Q16\convert.exe
C:\Windows\System32\convert.exe
Development.rb
Paperclip.options[:command_path] = "C:/Program Files/ImageMagick-6.8.9-Q16/convert.exe"
的Gemfile
gem 'paperclip'
gem 'rmagick', '~> 2.13.2', :platforms => :ruby
User.rb
has_attached_file :avatar, styles: { medium: '210x260>', larger: "300x300>", thumb: "100x100>" }, default_url: "/assets/default.png"
validates_attachment_content_type :avatar, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]
视图
<%= image_tag @user.avatar(**style**) %>
我正在两个不同尺寸的图像上测试它,A(最初:960x688)和B(最初:160x160)
A(:拇指)变为100x72
B(:拇指)变为100x100
A(:medium)变为210x151
B(:中等)变为160x160
A(:较大)变为300x300
B(:更大)变为300x300
我在尝试更改大小后尝试重新上传图片但获得了相同的结果。那么,回形针是否存在不同尺寸图像的问题,或者我的代码是否存在问题?
答案 0 :(得分:1)
您需要在尺寸标注后更改尾随字符,因此在您需要的情况下需要
medium: 210x260#
文件明确说明
Default behavior is to resize the image and maintain aspect ratio (i.e. the :medium version of a 300×150 image will be 200×100). Some commonly used options are:
trailing '#', thumbnail will be centrally cropped, ensuring the requested dimensions.
trailing '>', thumbnail will only be modified if it is currently larger requested dimensions. (i.e. the :small thumb for a 120×80 original image will be unchanged)
对于您当前的图像,您可以在控制台中进行此操作
Image.all.each {|s| s.image.reprocess! }
之后,您上传的任何其他图片都不需要重新处理,并会根据您的需要调整大小
希望有所帮助