【发布时间】:2011-12-07 16:38:57
【问题描述】:
我花了很长时间才能让它工作,现在仍然如此。我会深入到它的核心。我正在按照 Ryan Bates 教程使用 Jcrop 和 Carrierwave 进行裁剪。我选择使用 MiniMagick 是因为即使在我的机器上重新安装了 ImageMagick 和 RMagick 之后,我也会收到一个错误,导致本地机器上的 rails 服务器被杀死。无论如何切换到 MiniMagick 为我解决了这个问题。 所以到目前为止一切都很好。我正在制作不同尺寸的图像,并且它们已成功上传。 但是,一旦我尝试裁剪,就会出现此错误:
undefined method `crop!' for #<MiniMagick::CommandBuilder:0x000001052e4608>
这让我很困惑,因为我使用的代码与 Bates 几乎完全相同:
def crop
if model.crop_x.present?
resize_to_limit(700, 700)
manipulate! do |img|
x = model.crop_x.to_i
y = model.crop_y.to_i
w = model.crop_w.to_i
h = model.crop_h.to_i
img.crop!(x, y, w, h)
end
end
end
不管怎样,就是这种裁剪方法失败了。于是心想,那是一个ImageMagick命令……于是我看了下ImageMagick doco,没找到有bang的crop方法,于是不带试了一下,然后报错就变成了这样:
No such file or directory - /var/folders/dF/dFNM2+Y7FVScn4+OxVHKOU+++TI/-Tmp-/mini_magick20111207-34409-1tnaa07.jpg
无论如何,有些事情对我来说没有多大意义,任何帮助将不胜感激! 感谢阅读!
【问题讨论】:
-
更新!我非常非常沮丧,并在一台新机器上重新尝试了一切。我回到了 Rmagick,这次它奏效了。关键似乎与我的设置有关。我不确定具体是什么,但它与 Ghostscript 和/或 MacPorts 有关。删除 macports,重新安装 imagemagick,重新安装 rmagick,重新安装 ghostcript 终于为我做了!谢谢!
标签: ruby-on-rails carrierwave minimagick