Ruby on rails 为什么是MiniMagick';s crop方法是否返回空字符串?

Ruby on rails 为什么是MiniMagick';s crop方法是否返回空字符串?,ruby-on-rails,imagemagick,carrierwave,Ruby On Rails,Imagemagick,Carrierwave,我的屏幕截图模型通过CarrierWave附带了一张快照图像: class Screenshot < ActiveRecord::Base attr_accessor :crop_x, :crop_y, :crop_w, :crop_h mount_uploader :shot, ShotUploader process_in_background :shot unless Rails.env.test? end 我已经确认,鉴于图像的尺寸,x、y等是合理的值 minima

我的屏幕截图模型通过CarrierWave附带了一张快照图像:

class Screenshot < ActiveRecord::Base
  attr_accessor :crop_x, :crop_y, :crop_w, :crop_h 
  mount_uploader :shot, ShotUploader
  process_in_background :shot unless Rails.env.test?
end
我已经确认,鉴于图像的尺寸,x、y等是合理的值

minimagik::Image.open(@screenshot.shot.url)
按预期返回minimagik图像对象

但是为什么
screenshot.crop(“#{w}x#{h}+#{x}+#{y}”)
返回一个空字符串


显然,我需要它以一种对
uploader.store有意义的格式返回一个裁剪过的图像

Minimagick倾向于就地操作,因此

screenshot.crop("#{w}x#{h}+#{x}+#{y}")
修改屏幕截图,而不是返回新裁剪的图像

screenshot.crop("#{w}x#{h}+#{x}+#{y}")