Minimagick 无法使用mini_magick裁剪图像
我正在使用mini_magick作为使用ImageMagick操作某些图像的界面调整大小效果良好。但当我想裁剪一些图像时:Minimagick 无法使用mini_magick裁剪图像,minimagick,Minimagick,我正在使用mini_magick作为使用ImageMagick操作某些图像的界面调整大小效果良好。但当我想裁剪一些图像时: img = MiniMagick::Image.open(url) img.crop('200x800!') 它不断提示没有这样的文件 No such file or directory - /var/folders/c4/mqlwdx_d3kj6hqcnvbjr9mn80000gn/T/mini_magick20120504-11111-16kayc1.png 啊,我
img = MiniMagick::Image.open(url)
img.crop('200x800!')
它不断提示没有这样的文件
No such file or directory - /var/folders/c4/mqlwdx_d3kj6hqcnvbjr9mn80000gn/T/mini_magick20120504-11111-16kayc1.png
啊,我想我用了错误的关键词搜索。当我搜索
minimagick
而不是mini\u magick
时,我找到了正确的答案。尤其是这个答案
我确实知道mini_magick只是一个包装的mogrify
等等。问题的原因是-crop
仅接受完整格式的几何图形。因此,我将表达式改为:
img.crop('200x800+0+0')
这是可行的。如果有人正在使用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中,因此无法找到它 为jekyll Minimagik和Retinamagik工作<代码>裁剪:“640x480+0+0”