我正在使用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 倍,而且该站点的带宽已经相当大了。