Pregunta

Estoy usando un cms bastante agradable (locomotora(github)) para permitir que algunos usuarios no expertos en tecnología carguen imágenes en el sistema.El programa puede cambiar el tamaño y recortar imágenes a cualquier tamaño determinado.

El problema es que Internet Explorer no sabe cómo manejar imágenes codificadas en CMYK.Los usuarios de esta aplicación no son exactamente expertos en tecnología;pedirles que transformen sus imágenes de CMYK a RGB no es una opción.Me gustaría modificar la locomotora para que haga el cambio automáticamente.He estado intentando esto durante algunas horas pero hasta ahora no he tenido suerte.

Esto es lo que he encontrado:

  • Usos de la locomotora libélula para realizar el cambio de tamaño.
  • En concreto, utiliza la libélula. imagenmagia módulo.
  • Puede encontrar el archivo que define cómo se utiliza Dragonfly en la locomotora. aquí.
  • También hay una libélula. archivo inicializador.

También descubrí que lo que (creo) necesito es agregar un -colorspace RGB opción al parámetro enviado a Imagemagick por Dragonfly.No parece que Dragonfly ofrezca una opción fácil para hacer eso.

He probado varias cosas, la última consiste en parchear monos. Procesador Imagemagick de Dragonfly de manera que la -colorspace RGB La opción siempre se utiliza.He añadido esto en locomotoras. config/initializers/dragonfly.rb:

# locomotive's config/initializers/dragonfly.rb

# ... Locomotive's default initialization

module Dragonfly
  module ImageMagick
    class Processor
      alias :old_convert :convert
      def convert(temp_object, args='', format=nil)
        args += ' -colorspace RGB' # force RGB in all thumbnails 
        old_convert(temp_object, args, format)
      end
    end
  end
end

Estaba bastante seguro de que esto debería funcionar, pero desafortunadamente no es así.Y me he quedado sin ideas.¿Alguien puede ayudar?

¿Fue útil?

Solución 3

Desafortunadamente, no parece haber una manera sencilla de hacer esto con Dragonfly.Me he rendido.

Otros consejos

En la línea de comando, a veces necesito agregar -type truecolor Para que las conversiones de espacios de color funcionen de manera confiable:

convert cmyk.jpeg -colorspace rgb -type truecolor rgb.jpeg

¿Quizás intentes agregarlo también en tu código?

De la lista relacionada a la derecha, ¿podría ser útil esta respuesta SO?

Convertir correctamente una imagen CMYK a RGB con RMagick

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top