Pergunta

Estou usando um cms bastante bom (locomotiva(GitHub)) para permitir que alguns usuários não experientes em tecnologia carreguem imagens no sistema.O programa é capaz de redimensionar e cortar imagens em qualquer tamanho.

O problema é que o Internet Explorer não sabe como lidar com imagens codificadas em CMYK.Os usuários deste aplicativo não são exatamente conhecedores de tecnologia;pedir-lhes que transformem suas imagens de CMYK para RGB não é uma opção.Gostaria de modificar a locomotiva para que ela faça a mudança automaticamente.Estou tentando isso há algumas horas, mas não tive sorte até agora.

Isto é o que eu encontrei:

  • Usos de locomotivas libélula para realizar o redimensionamento.
  • Concretamente, utiliza libélulas imagemagick módulo.
  • O arquivo que define como o Dragonfly é usado na locomotiva pode ser encontrado aqui.
  • Há também uma libélula arquivo inicializador.

Eu também descobri que o que (acho) que preciso é adicionar um -colorspace RGB opção ao parâmetro enviado ao Imagemagick pelo Dragonfly.Não parece que o Dragonfly ofereça uma opção fácil para fazer isso.

Eu tentei várias coisas, a última consistindo em monkeypatching Processador Imagemagick da Dragonfly para que o -colorspace RGB opção é sempre usada.Eu adicionei isso na locomotiva 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

Eu tinha certeza de que isso deveria funcionar, mas infelizmente não funciona.E fiquei sem ideias.Alguém pode ajudar?

Foi útil?

Solução 3

Infelizmente não parece haver uma maneira simples de fazer isso com o Dragonfly.Eu desisti.

Outras dicas

Na linha de comando, às vezes preciso adicionar -type truecolor para fazer com que as conversões de espaço de cores funcionem de maneira confiável:

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

Talvez você tente adicioná-lo em seu código também?

Da lista relacionada à direita, esta resposta do SO pode ajudar?

Convertendo corretamente uma imagem CMYK em RGB com RMagick

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top