首页 > 解决方案 > Rails 5.2 MiniMagick::Error 使用具有比率和活动存储的图像变体时

问题描述

在我的本地,以下代码从视图中可以正常工作...

image_tag image.variant(combine_options: {resize:"1200", gravity: "Center", crop: "6:3"})

在生产 Digital Ocean Ubuntu 16.04 上出现错误...

MiniMagick::Error(mogrify -gravity Center -crop 6:3 /tmp/mini_magick20180806-26536-1n7pdkl.jpg失败并出现错误:mogrify-im6.q16: invalid geometry `6:3' @error/geometry.c/ParseGravityGeometry/1185。):

真的希望有人在这里有一个解决方案,因为通过定义一个比率来裁剪方法非常适合我的目的。

如果我将代码更改为...

image_tag image.variant(combine_options: {gravity: "Center", crop: "1200x800+0+0"})

我没有收到错误,但我也没有得到我想要的结果。

我完全不知所措,因为我无法在我的开发环境中复制它。我已将服务器上的 ImageMagick 和 MiniMagick 更新为与本地相同的版本。想不出还有什么可以尝试的。

标签: imagemagickcropruby-on-rails-5.2

解决方案


感谢@lis2 升级到最新版本的 ImageMagick 成功了。如果有人需要,请在此处进行操作... [ https://linuxhint.com/imagemagick-bitmap-images-editor/][1] 适用于 Ubuntu 18 以及 14 和 16。

然后 ssh 进入服务器

wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar -xvf ImageMagick.tar.gz
cd ImageMagick-7.0.*
./configure --prefix=/usr
make
sudo make install
sudo ldconfig /usr/local/lib

上面的方式让我没有代表来解决 png 和 jpeg。做以下工作...

wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar -xvf ImageMagick.tar.gz
cd ImageMagick-7.0.*
./configure --prefix=/usr
make
sudo make install
sudo ldconfig /usr/local/lib
./configure --enable-shared
make libdir=/usr/lib
sudo make libdir=/usr/lib install
./configure --enable-shared=yes --x-libraries=/usr/lib --without-perl
make
sudo make install

现在,当我确定 -version 我得到... 版本:ImageMagick 7.0.8-12 Q16 x86_64 2018-09-27 https://imagemagick.org 版权所有:© 1999-2018 ImageMagick Studio LLC 许可证:https://imagemagick .org/script/license.php 特征: Cipher DPC HDRI OpenMP 代表(内置): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr lzma openexr pangocairo png tiff wmf x xml zlib

干杯丹


推荐阅读