2016-10-05 2 views
0

Ich habe Probleme mit der Vorbereitung von RGB-Vorschauen von primär-CMYK-PDFs mit Imagemagick auf Heroku. Ich verwende IMs convert Befehl, und das Bild (der ersten Seite der Quell-PDF) ist in Ordnung, und gut gespeichert, aber die Farbkonvertierung ist schrecklich.Kann ich benutzerdefinierte Farbprofile mit ImageMagick auf Heroku verwenden?

Auf meiner Entwicklungsmaschine ist die Farbe wirklich gesättigt und schrecklich. Auf Heroku bekomme ich ein sehr merkwürdiges Schwarz-Weiß-Bild - fast so, als wäre nur einer der Farbkanäle überspielt worden.

Ich habe herausgefunden, dass dies durch die Bereitstellung von Farbprofilen für die Konvertierung behoben werden kann. Ich habe Open-Source-Farbprofile gefunden, sie zu meinem Projekt hinzugefügt, und das funktioniert auf meinem Dev-Rechner gut. Auf Heroku kann der Befehl convert die Farbprofile nicht finden.

Dies ist der convert Befehl:

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

Und das ist, wie ich den Pfad zu den Profildateien bin Bestimmung:

"#{Rack::Directory.new('').root}/lib/assets/color_profiles"

I Rubin/Rack-bin mit/Dragonfly und das https://github.com/ello/heroku-buildpack-imagemagick Build Pack für Heroku.

Vermutlich liegt das daran, dass convert auf Heroku von einem anderen Speicherort als die App ausgeführt wird, damit der Pfad nicht ordnungsgemäß aufgelöst wird.

Also - mache ich das richtig? Ist es sogar möglich, einen Pfad zu einer Datei in meiner App convert anzugeben? Oder muss ich etwas zur Build-Zeit machen?

Antwort

0

Also - nach einem ganzen Tag Basteln, fand ich die Antwort selbst 34 Minuten nach der Veröffentlichung auf SO.

Durch das Entfernen des ImageMagick-Buildpacks und die Verwendung der Heroku-Version wird das Problem behoben. Es sieht so aus, als wäre es eine Lücke oder ein Fehler in der ImageMagick-Version.

Verwandte Themen