载波:如何裁剪和调整大小以使最终图片的宽度和高度完全相同?

亨利

我正在将Rails 3与载波和Rmagick一起使用。我希望将图片的大小精确调整为192 x 135,一开始这个接缝很简单,但是直到现在我都没有尝试过。

有人找到解决方案了吗?这是我给上传者的代码。

class AvatarUploader < CarrierWave::Uploader::Base

   #Include RMagick or MiniMagick support:
  include CarrierWave::RMagick
  include CarrierWave::MiniMagick

  # Choose what kind of storage to use for this uploader:
  storage :file
  # storage :fog

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


  # Provide a default URL as a default if there hasn't been a file uploaded:
   def default_url
  #   # For Rails 3.1+ asset pipeline compatibility:
   ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
  #
  #   "/images/fallback/" + [version_name, "default.png"].compact.join('_')
   end
  process :resize_to_fit => [250, 250]


  # Process files as they are uploaded:
  # process :scale => [200, 300]
  #
  # def scale(width, height)
  #   # do something
  # end

  # Create different versions of your uploaded files:
   version :thumb do
     process :resize_to_fit => [200, 200]
   end

   version :medium do
       process :resize_to_fit => [250, 250]
    end

    version :mini do
        process :resize_to_fit => [100, nil]
        process crop: '100x100+0+0'
     end

     version :grid do
         process :resize_to_fit => [192, 135]
         process crop: '192x135+0+0'
      end

  # Add a white list of extensions which are allowed to be uploaded.
  # For images you might use something like this:
  # def extension_white_list
  #   %w(jpg jpeg gif png)
  # end

  # Override the filename of the uploaded files:
  # Avoid using model.id or version_name here, see uploader/store.rb for details.
  # def filename
  #   "something.jpg" if original_filename
  # end

  private

    # Simplest way
    def crop(geometry)
      manipulate! do |img|      
        img.crop(geometry)
        img
      end    
    end

    # Resize and crop square from Center
    def resize_and_crop(size)  
      manipulate! do |image|                 
        if image[:width] < image[:height]
          remove = ((image[:height] - image[:width])/2).round 
          image.shave("0x#{remove}") 
        elsif image[:width] > image[:height] 
          remove = ((image[:width] - image[:height])/2).round
          image.shave("#{remove}x0")
        end
        image.resize("#{size}x#{size}")
        image
      end
    end

end
gbdev

换行

process :resize_to_fit => [250, 250]

process :resize_to_fill => [192, 135]

大约一个月前问了类似的问题希望这可以帮助!:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何裁剪未知值和大小的张量的常值填充(填充高度和宽度相同)?

来自分类Dev

如何在WordPress中将缩略图图像调整大小和裁剪为特定的高度和宽度?

来自分类Dev

Javascript如何设置自己的img宽度和高度(调整大小)

来自分类Dev

在调整窗口大小之前如何检查宽度和高度?

来自分类Dev

如何使QGridLayout调整单元格的大小完全相同?

来自分类Dev

调整大小的图像新的宽度和高度

来自分类Dev

表和Div的100%宽度不完全相同

来自分类Dev

图片的高度和宽度设置为100%,无法在Android浏览器中正确调整大小。

来自分类Dev

如何在Angular中调整KendoGrid的大小(高度和宽度)?(不调整列的大小)

来自分类Dev

如何使用 CSS 以固定高度裁剪、调整大小和居中 <img>

来自分类Dev

Javascript调整图片大小,然后再上传-从画布读取-图片在那里,宽度和高度0

来自分类Dev

如何增加图片的宽度和高度?

来自分类Dev

Ui 裁剪器裁剪高度和宽度

来自分类Dev

如何调整 UITextView 的大小,当达到特定值时,它会根据内容和固定宽度自动调整其宽度和高度?

来自分类Dev

如何调整熊猫图的宽度和高度?

来自分类Dev

如何调整ImageButton的宽度和高度?

来自分类Dev

Android:在Dip中调整图片的宽度和高度

来自分类Dev

KonvaJS 裁剪和调整大小

来自分类Dev

如果载波超过高度/宽度,则使用载波调整图像大小

来自分类Dev

如何设置图像的高度和宽度相同?

来自分类Dev

使堆叠的响应块在调整大小时改变高度和宽度

来自分类Dev

调整pdf文件的大小,但宽度和高度不同

来自分类Dev

css3调整大小:更改高度和宽度较小

来自分类Dev

调整HTML视频的大小以适合父容器的高度*和*宽度

来自分类Dev

根据设备的宽度和高度调整图像大小

来自分类Dev

使堆叠的响应块在调整大小时改变高度和宽度

来自分类Dev

图像旋转-根据图像的高度和宽度调整画布的大小

来自分类Dev

如何根据图片的大小设置html5 camvas的图像宽度和高度?

来自分类Dev

如何根据图片的大小设置html5 camvas的图像宽度和高度?

Related 相关文章

  1. 1

    如何裁剪未知值和大小的张量的常值填充(填充高度和宽度相同)?

  2. 2

    如何在WordPress中将缩略图图像调整大小和裁剪为特定的高度和宽度?

  3. 3

    Javascript如何设置自己的img宽度和高度(调整大小)

  4. 4

    在调整窗口大小之前如何检查宽度和高度?

  5. 5

    如何使QGridLayout调整单元格的大小完全相同?

  6. 6

    调整大小的图像新的宽度和高度

  7. 7

    表和Div的100%宽度不完全相同

  8. 8

    图片的高度和宽度设置为100%,无法在Android浏览器中正确调整大小。

  9. 9

    如何在Angular中调整KendoGrid的大小(高度和宽度)?(不调整列的大小)

  10. 10

    如何使用 CSS 以固定高度裁剪、调整大小和居中 <img>

  11. 11

    Javascript调整图片大小,然后再上传-从画布读取-图片在那里,宽度和高度0

  12. 12

    如何增加图片的宽度和高度?

  13. 13

    Ui 裁剪器裁剪高度和宽度

  14. 14

    如何调整 UITextView 的大小,当达到特定值时,它会根据内容和固定宽度自动调整其宽度和高度?

  15. 15

    如何调整熊猫图的宽度和高度?

  16. 16

    如何调整ImageButton的宽度和高度?

  17. 17

    Android:在Dip中调整图片的宽度和高度

  18. 18

    KonvaJS 裁剪和调整大小

  19. 19

    如果载波超过高度/宽度,则使用载波调整图像大小

  20. 20

    如何设置图像的高度和宽度相同?

  21. 21

    使堆叠的响应块在调整大小时改变高度和宽度

  22. 22

    调整pdf文件的大小,但宽度和高度不同

  23. 23

    css3调整大小:更改高度和宽度较小

  24. 24

    调整HTML视频的大小以适合父容器的高度*和*宽度

  25. 25

    根据设备的宽度和高度调整图像大小

  26. 26

    使堆叠的响应块在调整大小时改变高度和宽度

  27. 27

    图像旋转-根据图像的高度和宽度调整画布的大小

  28. 28

    如何根据图片的大小设置html5 camvas的图像宽度和高度?

  29. 29

    如何根据图片的大小设置html5 camvas的图像宽度和高度?

热门标签

归档