Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Minimagick 无法使用mini_magick裁剪图像_Minimagick - Fatal编程技术网

Minimagick 无法使用mini_magick裁剪图像

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 啊,我

我正在使用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

啊,我想我用了错误的关键词搜索。当我搜索
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”