无法使用mini_magick裁剪图像(Unable to crop image using min

2019-09-17 01:00发布

我使用mini_magick为利用ImageMagick的操纵一些图像的界面。 调整大小正常工作 。 但是,当我要进行一些裁剪图像:

img = MiniMagick::Image.open(url)
img.crop('200x800!')

它不断地提示No such file

No such file or directory - /var/folders/c4/mqlwdx_d3kj6hqcnvbjr9mn80000gn/T/mini_magick20120504-11111-16kayc1.png

Answer 1:

啊,我是用错了关键的一句我想搜索。 正确的答案来给我,当我搜索minimagick而不是mini_magick 。 未定义的方法丰收! 在轨道上使用Carrierwave与MiniMagick 3.1.3尤其是这个答案https://stackoverflow.com/a/9961434/179691

我确实知道的东西约mini_magick只是一个包装mogrify等。 我的问题的原因是-crop只接受全格式的几何形状。 所以我改变了表达:

img.crop('200x800+0+0')

而工作。



Answer 2:

为了以防万一,如果有人使用Carrierwave作物和上传图片直接到Amazon S3,正确的方法为我做的是以下几点:

image_uploader.rb

url=model.remote_image_url 
crop_params="#{w}x#{h}+#{x}+#{y}"
manipulate! do |img|
  img = MiniMagick::Image.open(url)
  img.crop(crop_params)
  img = yield(img) if block_given?
  img
end

究其原因,我加入IMG = MiniMagick :: Image.open(URL)是因为如果我不指定我自己的形象,这会让我下面的错误:

mogrify.im6: geometry does not contain image `/tmp/mini_magick20150811-15523-ac8go1.jpeg'

我认为这是mini_magick会尝试找到图像一些默认的临时路径,但由于图像在S3远程举行,它找不到它。



文章来源: Unable to crop image using mini_magick
标签: minimagick