如何在Rails中将Active Storage存储的图片从PNG等格式转换为JPG格式
Active Storage 图片转JPG格式variant参数配置
你只需要给variant传入format参数指定输出格式即可实现转换。针对PNG转JPG的典型场景,建议额外补充白色背景填充参数处理透明通道,避免透明区域默认渲染为黑色:
@event.image.variant(format: :jpeg, background: :white, quality: 90)
参数说明
format: :jpeg:核心参数,明确指定变体输出格式为jpeg,实现格式转换background: :white:适配PNG透明通道的补充参数,JPG格式不支持透明属性,不加该参数原PNG的透明区域会显示为黑色quality: 90:可选参数,用来调整输出JPG的画质,取值范围为0-100,数值越高画质越好、对应文件体积也越大,可根据业务需求自行调整
注意:Rails 7以前版本默认使用ImageMagick作为图像处理后端,Rails 7+默认使用vips作为后端,上述参数在两种后端下均通用,无需额外适配。
内容的提问来源于stack exchange,提问作者Dorian
相关产品推荐
相关产品推荐

