0

所以我得到了我的 Carrierwave Uploader,这很正常:

class ThumbFileUploader < CarrierWave::Uploader::Base

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  process :resize_to_limit => [2000, 480]
end

在我的模型中,我得到:

article.remote_thumbnail_url = article.picture_url

我想做的是

  1. 从我的模型中告诉carrierwave 用于缩放的尺寸
  2. 如果缩放后​​图像不符合确切尺寸,请裁剪图像

实现这一目标的最佳做法是什么?

4

1 回答 1

1

我遇到了完全相同的问题。

首次上传文件时,您基本上需要让模型存储原始图像尺寸。然后,您可以将它们与 jCrop 一起使用来控制裁剪过程。

我的载波作为此功能上传

  def get_geometry
    if (@file)
      img = ::Magick::Image::read(@file.file).first
      @geometry = [ img.columns, img.rows ]
    end
  end

你必须在模型、上传器和视图中做很多事情。

完整的文章在我的网站上,链接如下。

http://mark.stratmann.me/content_items/image-cropping-with-rails-3-2-carrierwave-bootstrap-modals-jcrop

于 2013-02-25T15:58:58.997 回答