首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用回形针gem调用liquid-rescale?

如何使用回形针gem调用liquid-rescale?
EN

Stack Overflow用户
提问于 2011-10-14 01:16:19
回答 1查看 151关注 0票数 0

我正在使用带Rails 3.1.1应用程序的回形针gem。它正按照广告和预期的方式工作。然而,我想使用imagemagick -liquid-rescale委托。根据imagemagick documentation (我在terminal.app中尝试过),这是可行的:

代码语言:javascript
复制
convert logo_trimmed.jpg  -liquid-rescale 75x100%\!  logo_lqr.jpg

我试过一种变种。

代码语言:javascript
复制
convert my_pic.jpg -liquid-rescale 60x60\! my_new_pic.jpg

这也达到了预期的效果。我已经在我的rails应用程序的Image模型中尝试了几个排列,但我无法让Paperclip调用liquid-rescale。我最近的尝试是:

代码语言:javascript
复制
has_attached_file :pic, :styles => {:square => "-liquid-rescale 60x60\!" }

此操作失败,不会出现错误消息,只是使用新名称复制原始图像。

如何指示回形针调用液体重缩放?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-14 09:51:16

这是我所做的。我必须编写一个自定义处理器,我将其命名为liquid.In模型:

代码语言:javascript
复制
has_attached_file :pic, :styles => {:square => {:processors =>[:liquid],:geometry => "60x60>"} }

我不确定:geometry选项是否是必要的,但我添加了它,因为回形针gem中的thumbnail.rb说它不是可选的。

然后我添加了一个文件:/my_app/lib/paperclip_processors/liquid.rb,内容如下:

代码语言:javascript
复制
module Paperclip
    class Liquid < Thumbnail
        def transformation_command
            "-resize '60x60>' -liquid-rescale '60x60!'"
        end
    end
end

最后,我在控制台中运行了以下命令:

代码语言:javascript
复制
Image.all.each {|i| i.pic.reprocess!}

这就起到了作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7757858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档