ruby-on-rails - 使用 CarrierWave 检索图像高度

标签 ruby-on-rails ruby carrierwave

我需要能够放置处理过的图像的尺寸。

我的 ImageUploader 类中有:

version :post do
  process :resize_to_fit => [200, nil]
end

有没有一种方法可以获得与此类似的图像尺寸?

height = @picture.image_height(:post)

最佳答案

您可以调整并使用此处描述的方法: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

关于ruby-on-rails - 使用 CarrierWave 检索图像高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8584365/

相关文章:

ruby - Ruby 中的 AES/CBC/PKCS5Padding 实现(用于 rails)

ruby - 将一个 erb 文件包含到另一个文件中

ruby - Heroku Rails 4 无法连接到服务器 : connection refused

ruby-on-rails - ruby on Rails-fixture_file_upload 不适用于 CarrierWave 的 Controller 测试

ruby-on-rails - Rails 4 + Carrierwave + jQuery 文件上传 + 嵌套表单多文件问题

ruby-on-rails - 在Rails中将Carrierwave附件编码为base64

ruby-on-rails - 如何删除主键?

ruby-on-rails - 无法激活 mysql2 (~> 0.3.10),已经激活 mysql2-0.4.3

jquery - 我如何用jquery解析Json

html - 相对链接 (RoR)