imagemagick - 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 更新为与本地相同的版本。想不出还有什么可以尝试的。
解决方案
感谢@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
干杯丹
推荐阅读
- javascript - 检查对象数组中的值是否不同的最快方法
- android - ConstraintLayout 中的 ScrollView 无法按预期工作
- ios - 拔下电缆后部署后 IOS 应用程序无法正常工作
- liferay-7 - 有没有办法在 liferay 7.1 中为 DynamicQuery 中的表设置别名
- python - 如何在 python 中将 %uXXXX 代码转换为纯文本?
- javascript - React:如何将 jsx 保存到状态,然后在 dom 中显示 jsx
- python - 为每个具有二维变量的 id 分配一个二进制输出
- php - 这是获取 1024 到 65535 之间的随机数的正确方法吗?
- json - Oracle 12c 使用 jsonpath 过滤器
- angular - 用Angular中的formArray修补formGroup中的值?