Dav*_*vid 9 ruby ruby-on-rails carrierwave
我需要能够放置处理过的图像的尺寸.
我ImageUploader上课了:
version :post do
process :resize_to_fit => [200, nil]
end
Run Code Online (Sandbox Code Playgroud)
有没有办法让图像的尺寸与此类似?
height = @picture.image_height(:post)
Run Code Online (Sandbox Code Playgroud)
Jam*_*hen 12
您可以调整和使用此处描述的方法:http://code.dblock.org/carrierwave-saving-best-image-geometry
它添加了一个过程,然后调用Magick的方法来获取图像几何.
码:
version :post do
process :resize_to_fit => [200, nil]
process :get_geometry
def geometry
@geometry
end
end
def get_geometry
if (@file)
img = ::Magick::Image::read(@file.file).first
@geometry = [ img.columns, img.rows ]
end
end
Run Code Online (Sandbox Code Playgroud)
您可以挂钩:cache和:retrieve_from_cache方法
无需依赖系统命令:
# Somewhere in your uploader:
attr_reader :geometry
after :cache, :capture_size
after :retrieve_from_cache, :capture_size
def capture_size(*args)
img = ::MiniMagick::Image::read(File.binread(@file.file))
@geometry = [img[:width], img[:height]]
end
Run Code Online (Sandbox Code Playgroud)
http://www.glebm.com/2012/05/carrierwave-image-dimensions.html
| 归档时间: |
|
| 查看次数: |
5613 次 |
| 最近记录: |