使用 Carrierwave 将图像从 png 转换为 jpg

Covert image from png to jpg using Carrierwave

我正在使用 Carrierwave 上传图片。我想在使用 Fog

将 PNG 上传到 S3 时将它们转换为 JPEG

我试过像这样在上传器中写一个方法:

  def covert_image
    manipulate! do |img|
      img.strip
      img.format('jpeg')
      img.combine_options do |c|
        c.quality "80"
        c.depth "8"
        c.interlace "plane"
      end
      img
    end
  end

但这不起作用。我已经用 Google 搜索了进行此转换的方法,但找不到任何示例。任何帮助将不胜感激。

你用minimagick吗?如果是这样,请尝试交换

img.format('jpeg')

img.convert('jpeg')

来自https://www.rubydoc.info/github/jnicklas/carrierwave/CarrierWave%2FMiniMagick%3Aconvert