【发布时间】:2016-10-05 22:32:36
【问题描述】:
我在 Heroku 上使用 Imagemagick 准备主要 CMYK PDF 的 RGB 预览时遇到问题。我正在使用 IM 的 convert 命令,图像(源 PDF 的第一页)提取得很好,保存得很好,但是颜色转换很糟糕。
在我的开发机器上,颜色真的很饱和而且很糟糕。在 Heroku 上,我得到了一张非常奇怪的黑白图像 - 几乎就像只带来了一个颜色通道。
我发现可以通过为转换提供颜色配置文件来解决此问题。我找到了开源颜色配置文件,将它们添加到我的项目中,这在我的开发机器上运行良好。在 Heroku 上,转换命令找不到颜色配置文件。
这是convert 命令:
convert /tmp/(sourcefilename)[0] -quality 80 -strip -profile /app/lib/assets/color_profiles/ISOcoated_v2_bas.ICC -profile /app/lib/assets/color_profiles/sRGBColorSpaceProfile.icm -colorspace sRGB -strip /tmp/(outputfilename).jpg
这就是我确定配置文件路径的方式:
"#{Rack::Directory.new('').root}/lib/assets/color_profiles"
我正在为 Heroku 使用 Ruby/Rack/Dragonfly 和 https://github.com/ello/heroku-buildpack-imagemagick 构建包。
这可能是因为 Heroku 上的 convert 是从与应用程序不同的位置运行的,因此路径无法正确解析。
那么 - 我这样做对吗?甚至可以给convert 一个指向我的应用程序内文件的路径吗?或者这是我在构建时需要做的事情?
【问题讨论】:
标签: ruby heroku imagemagick