- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Rails 5.2.0(作为 API)
/配置/应用程序.rb
config.active_storage.variant_processor = :vips
class Api::V1::User::CurrentUserSerializer < Api::V1::User::BaseSerializer
include Rails.application.routes.url_helpers
attributes(
[...]
:avatar
:created_at
)
def avatar
if object.avatar.attachment
avatar = {
image: url_for( object.avatar ), # This one works
thumb: url_for( object.avatar.variant(resize_to_fit: [800, 800]) ), # EXCEPTION
thumb_test: url_for( object.avatar.variant(resize: '800x800') ) # Returns image of size: 640x800 (expected 800x800)
}
end
end
end
exception: "<MiniMagick::Error: `mogrify -resize-to-fit [800, 800] /tmp/mini_magick20180625-19749-rghjbg.jpg` failed with error: mogrify.im6: unrecognized option `-resize-to-fit' @ error/mogrify.c/MogrifyImageCommand/5519. >"
class ActiveStorageVariants
class << self
def resize_to_fill(width:, height:, blob:, gravity: 'Center')
blob.analyze unless blob.analyzed?
cols = blob.metadata[:width].to_f
rows = blob.metadata[:height].to_f
if width != cols || height != rows
scale_x = width / cols
scale_y = height / rows
if scale_x >= scale_y
cols = (scale_x * (cols + 0.5)).round
resize = cols.to_s
else
rows = (scale_y * (rows + 0.5)).round
resize = "x#{rows}"
end
end
{
resize: resize,
gravity: gravity,
background: 'rgba(255,255,255,0.0)',
extent: cols != width || rows != height ? "#{width}x#{height}" : ''
}.merge(optimize_hash(blob))
end
end
end
require 'active_storage_variants' # /lib/active_storage_variants.rb
module Users::ActiveStorageVariants
def avatar_thumbnail
variation = ActiveStorage::Variation.new(
ActiveStorageVariants.resize_to_fill(
width: 300, height: 300, blob: avatar.blob
)
)
ActiveStorage::Variant.new(avatar.blob, variation)
end
end
class User < ApplicationRecord
...
## Concerns
include Users::ActiveStorageVariants
...
end
user.avatar_thumbnail
最佳答案
resize_to_fit: [800, 800]
是 ImageProcessing转型。 Rails 5.2 不使用 ImageProcessing,因此不支持 libvips;它直接使用 MiniMagick 代替。
Rails 6 将切换到 ImageProcessing 并添加 libvips 支持。现在要使用 libvips,在 Rails 6 发布之前,在 GitHub 上捆绑 rails/rails 存储库的 master 分支:
# Gemfile
gem "rails", github: "rails/rails"
关于ruby-on-rails - Rails 5 - 事件存储 - 变体 - 异常 : "#<MiniMagick::Error: ` mogrify -resize-to-fit [800, 800]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51025081/
如果我有类似这样的图片: --------------------------------- - xxxxxxxxxx - - x x
我正在尝试使用 Perl 中的 Imagemagick 在命令行上压缩图像(目前,我只能翻转它...) system("/usr/bin/mogrify", "-flip","/var/www/ima
我正在尝试使用 python 包 psycopg2 将数据插入到 postgres 数据库中。 def insertIntoDB(__insertSQL__,patternString,data,co
我觉得自己不得不问这么一个简单的问题很愚蠢,但在过去的一个小时里我完全没有找到解决这个问题的方法。每个人似乎都需要做与我需要做的完全相反的事情。 我的问题只是如何告诉 mogrify 和/或 conv
我在多个文件上运行 ImageMagick mogrify 时遇到一个奇怪的问题。我使用转换字符串对图像进行多次转换,从而生成缩略图。带有转换字符串的命令在单个文件上运行良好,但是在批量文件上运行时有
我想做 cursor.mogrify 做的事,但要以适合生产的方式。 我正在更新一些通过连接字符串构建查询的遗留 Python 代码。我需要更改此设置以安全逃生。 查询很长并且构建在与运行不同的服务器
我正在尝试使用 mogrify 来降低图像质量以最终减小图像大小,但图像大小并没有减小,而是在增加。我正在使用以下命令: mogrify -quality 20% 1.png 图像大小从 2.5 m
我正在使用 mogrify 使用以下命令调整目录中图像的大小 mogrify -resize 100x100 *.jpg 由于图片较多,出现如下错误 /usr/bin/mogrify:
我想使用 Linux 的 mogrify 工具来删除多张不同尺寸图像的下方 20 像素。 示例:图像宽度为 800px,图像高度为 600px。我想裁剪新尺寸为 800x580px 的图像,其中底部的
我是 ImageMagick 的新手。 我编写了以下命令来 1) 缩放图像,2) 使用透明空间调整 Canvas 大小,3) 将缩放图像放在 Canvas 底部,4) 将结果保存在原始文件上。 con
imagemagick 网站在此页面上有一个演示:http://www.imagemagick.org/Usage/resize/#resize 我想执行此示例中的操作: convert logo:
我是 ImageMagick 的新手。 我编写了以下命令来 1) 缩放图像,2) 使用透明空间调整 Canvas 大小,3) 将缩放图像放在 Canvas 底部,4) 将结果保存在原始文件上。 con
我正在尝试使用这个 psycopg2: insert multiple rows with one query 使用 cursor.mogrify 将大量行插入到 postgres 中 数据是一个元组
我正在运行此命令以使用 mogrify 创建缩略图,效果很好! #! /bin/bash mogrify \ -resize 300x300 \ -crop 200x
我在裁剪图像时遇到问题(我的调整大小工作正常) 原始图像是 x 并且在调整大小之后: mogrify -resize x75 /my/path/image.jpg 我可以看到执行 getimagesi
我正在尝试对图像执行多项操作(调整大小、裁剪、在底部添加一些空白区域)。 然后我尝试在空白处添加标题。 我想使用 mogrify,这样我就可以编辑现有文件,而不是创建一个新文件(它会大量使用)。 这给
我正在尝试使用 python 项目中的示例保存数据 dedupe .我得到的错误是在尝试将数据插入回数据库时接近尾声。 我得到的错误是: Traceback (most recent call las
我认为 cur.mogrify() 不正确地将一些 's 注入(inject)到它生成的字符串中。我正在尝试编写一个供个人使用的小型 ORM,但我遇到了这种似乎可能是错误的行为: class Base
问题出在 mogrify 或因为我不能煮好。 ls -la total 3.8M drwxr-xr-x 2 root root 4.0K Nov 26 12:04 . drwxr-xr-x 4 ro
对仅包含 original.tif 的目录运行以下命令后 mogrify -auto-orient -format jpg -thumbnail 800x524 -write/var/www/phot
我是一名优秀的程序员,十分优秀!