我可以在Heroku上使用ImageMagick自定义颜色配置文件吗?

时间:2016-10-05 22:32:37

标签: ruby heroku imagemagick

我无法在Heroku上使用Imagemagick准备主要CMYK PDF的RGB预览。我正在使用IM的convert命令,并且图像(源PDF的第一页)被提取得很好,保存得很好,但颜色转换很糟糕。

在我的开发机器上,颜色真的很饱和可怕。在Heroku上,我得到一张非常奇怪的黑白图像 - 几乎只有一个颜色通道被带过来。

我已经知道可以通过为转换提供颜色配置文件来解决这个问题。我找到了开源颜色配置文件,将它们添加到我的项目中,这在我的开发机器上工作正常。在Heroku上,convert命令无法找到颜色配置文件。

这是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"

我正在使用Ruby / Rack / Dragonfly和Heroku的https://github.com/ello/heroku-buildpack-imagemagick构建包。

据推测,这是因为Heroku上的convert从不同的位置运行到应用程序,因此路径无法正确解析。

所以 - 我这样做对吗?甚至可以为我的应用程序内的文件提供convert路径吗?或者这是我在构建时需要做的事情吗?

1 个答案:

答案 0 :(得分:0)

所以 - 经过一整天的修修补补后,我在SO上发帖后34分钟就找到了答案。

删除ImageMagick buildpack并使用Heroku的内置版本修复了这个问题。看起来它可能是一个缺口或出售的imagemagick构建中的错误。