Я использую Dragonfly для создания миниатюр изображений в приложении Rails.
Я передаю все изображения в формате JPG. Теперь клиент загружает прозрачные файлы PNG, как этот:
http://www.ibanez.co.jp/products/images/eg2010/ART120_TRF_12_02.png
Dragonfly использует RMagick для преобразования этих изображений в JPG. Проблема в том, что он преобразует изображения PNG в JPG с черным фоном, а дизайн моего сайта требует белого фона. Я пытался переопределить это так:
encoded_image = Magick::Image.from_blob(image.data).first
if encoded_image.format.downcase == format
image # do nothing
else
encoded_image.format = format
encoded_image.background_color = "white"
encoded_image.transparent_color = "white"
encoded_image.to_blob
end
Но полученные изображения JPG по-прежнему содержат черный фон. Кто-нибудь знает, как превратить RMagick в использование белого фона при преобразовании прозрачного слоя?
Я знаю, что могу просто служить PNG, но тогда изображения будут в 10 раз больше, а сайт уже достаточно загружен.