Carrierwave RMagick не удаляет прозрачность при конвертации в jpg

Я пытаюсь загрузить PNG и сохранить несколько миниатюр. Все миниатюры должны быть в формате JPG и не иметь никакой прозрачности. Каким-то образом файл сохраняется как JPG, но он имеет прозрачность ...

Вот'мой загрузчик:

# encoding: utf-8

class WinePhotoUploader < CarrierWave::Uploader::Base

    # Include RMagick or MiniMagick support:
    include CarrierWave::RMagick
    # include CarrierWave::MiniMagick

    # Choose what kind of storage to use for this uploader:
    storage :file
    # storage :fog

    # Override the directory where uploaded files will be stored.
    # This is a sensible default for uploaders that are meant to be mounted:
    def store_dir
    "assets/wines/#{version_name}"
    end

    CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/

    # Provide a default URL as a default if there hasn't been a file uploaded:
    def default_url
    # For Rails 3.1+ asset pipeline compatibility:
    ActionController::Base.helpers.asset_path("pages/wines/#{version_name}/default.png")
    end

    process :for_all
    process :convert => 'jpg'

    version :croppable, :if => :new_upload? do
    process :resize_and_pad => [1200, 1200, 'white']
    end

    version :show, :if => :new_upload? do
    process :resize_to_fit => [nil, '425']
    end

    version :general, :from_version => :show, :if => :new_upload? do
    process :resize_and_pad => [150, 375, 'white']
    end

    version :thumb, :from_version => :croppable, :if => :cropping? do
    process :rotate_to => [-30]
    process :crop_via_model
    process :resize_to_fit => [150, 150]
    end

    def for_all
    manipulate! do |img|
        img.trim
        img.gravity = Magick::CenterGravity

        # I only use these two because this shit isn't working...these don't seem to help!
        # Neither does the flatten method...even though other posts on stackoverflow.com say
        # that it works.
        img.background_color = 'white'
        img.alpha Magick::OpaqueAlphaChannel

        img.unsharp_mask 0.3, 0.3, 5, 0
        img
    end
    end

    def extend_to(w, h)
    manipulate! do |img|
        img.gravity = Magick::CenterGravity
        img.extent w, h
        img
    end
    end

    def rotate_to(deg)
    manipulate! do |img|
        img.gravity = Magick::CenterGravity
        img.distort Magick::ScaleRotateTranslateDistortion, deg
        #img.repage # WTF?!?!?!? No repage method?!
        img
    end
    end

    def crop_via_model
    manipulate! do |img|
        img.gravity = Magick::CenterGravity
        img.crop model.crop_x.to_i, model.crop_y.to_i, model.crop_w.to_i, model.crop_h.to_i
        img
    end
    end

    def flatten
    manipulate! do |img|
        img_list = Magick::ImageList.new
        img_list.from_blob img.to_blob
        img_list.new_image(img_list.first.columns, img_list.first.rows) { self.background_color = "white" } # Create new "layer" with white background and size of original image
        img = img_list.reverse.flatten_images
        img
    end
    end

    def new_upload? picture
    !model.cropping?
    end
    def cropping? picture
    model.cropping?
    end

    # Add a white list of extensions which are allowed to be uploaded.
    # For images you might use something like this:
    def extension_white_list
    %w(jpg jpeg gif png tif)
    end

    # Override the filename of the uploaded files:
    # Avoid using model.id or version_name here, see uploader/store.rb for details.
    def filename
    "#{ model.get_permalink(:normalized => true) }.jpg"
    end

    # Remove this when https://github.com/carrierwaveuploader/carrierwave/issues/1164 is solved.
    def recreate_versions!(*versions)
    if versions.any?
        from_versions = versions.group_by { |v| self.class.versions[v][:options][:from_version] }
        from_versions.each do |from, versions|
        next if from.nil?
        file = CarrierWave::SanitizedFile.new(self.versions[from.to_sym].file)
        store_versions!(file, versions)
        end
    else
        super(*versions)
    end
    end

end

Ох ... и, видимо, несущая волна неКажется, я не хочу ничего регистрировать, чтобы я могне сказать, что этоделает.

Ответы на вопрос(1)

Ваш ответ на вопрос