ruby-on-rails - 使用 RMagick 将 JPG 转为 PNG

标签 ruby-on-rails ruby imagemagick rmagick

我正在尝试使用 RMagick 将获取的图像从 JPG 转换为 PNG,调整其大小,然后将其存储在 S3 上:

thumb = Magick::Image.read("artist.jpg").first
thumb.write("artist.png")
thumb.crop_resized!(120, 120, Magick::CenterGravity)

AWS::S3::S3Object.store("image.png", thumb.to_blob, AWS_BUCKET, :content_type => 'image/png', :access => :public_read)

图像确实保存为 png,但是当我在预览中打开它时,文档类型仍然显示为“JPEG 图像”。事实上,图像甚至无法在 Photoshop 中打开,除非我将扩展名改回“.jpg”。我错过了什么吗?

最佳答案

尝试明确设置格式:

thumb = Magick::Image.read("artist.jpg").first
thumb.format = "PNG"
thumb.write("artist.png")
thumb.crop_resized!(120, 120, Magick::CenterGravity)

AWS::S3::S3Object.store("image.png", thumb.to_blob, AWS_BUCKET, :content_type => 'image/png', :access => :public_read)

关于ruby-on-rails - 使用 RMagick 将 JPG 转为 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6419388/

相关文章:

jquery - 如何让相同的 javascript 代码响应多个 ajax 调用?

image-processing - 如何提取特定颜色的像素点进行OCR?

sql - 使用求和函数时如何避免 PG::NumericValueOutOfRange

ruby - 在 ruby​​ 中,您可以在 irb 中执行 assert_equal 和其他断言吗?

ruby-on-rails - 最灵活的 Rails 密码安全实现

python - 使用魔杖替换颜色

Imagemagick - 如何获得最大层和压缩?

ruby-on-rails - 如何处理XMLRPC::FaultException errors?

ruby-on-rails - 是否可以将 'activerecord-import' gem 用于 Rails 中的无模型表?

javascript - 处理 rails 中 navigator.sendBeacon 请求的 CSRF 真实性 token