【问题标题】:Ruby on Rails 5.2 active storage resize png loose transparencyRuby on Rails 5.2 主动存储调整 png 松散透明度
【发布时间】:2018-09-22 01:21:15
【问题描述】:

我正在使用 Rails 5.2 我正在尝试调整存储在活动存储中的 png 文件的大小,如下所示

def thumbnail
    return self.image_png.variant(resize: '120x120').processed
end

然后图像被转换为​​ jpg 并失去透明度。你知道如何将图像保持为透明背景的png吗?

【问题讨论】:

    标签: ruby-on-rails-5 png


    【解决方案1】:

    您是否使用MiniMagick 来处理变体?它应该是 RoR 默认值,它只是 ImageMagick 的包装,检查您拥有的 ImageMagick 版本,例如通过运行命令:

    convert --version
    

    我在本地有:

    Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org
    

    而且我在调整 png 文件大小和保持透明度方面没有问题。 如果您有旧版本之一,请先尝试升级 ImageMagick。我在使用旧版本的 ImageMagick 时遇到过这样的问题。

    还要检查您的记录在 blob 表中的外观,有文件名字段,由于某些奇怪的原因,它必须与内容类型匹配。所以请确保 png 文件名是例如image.png.

    【讨论】:

    • 我遇到了同样的问题,检查文件名解决了。当文件名没有扩展名时,创建较小的变体就是制作没有透明度的文件。当我添加“.png”扩展名时,它开始工作了。
    猜你喜欢
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2018-12-25
    • 2018-11-07
    • 1970-01-01
    • 2014-04-14
    • 2010-10-16
    相关资源
    最近更新 更多