Pergunta

Preciso gerar imagens em miniatura e de tamanho médio a partir de fotos grandes.Essas fotos menores serão exibidas em uma galeria online.Muitos dos fotógrafos estão enviando imagens JPEG usando Adobe RGB.Gostaria de usar sRGB para todas as miniaturas e imagens de tamanho médio

Estou usando dotnet (asp.net) e preciso converter de Adobe RGB para sRGB sem perder qualidade.

Foi útil?

Solução

Informações básicas:Os arquivos JPG têm 8 bits de vermelho, verde e azul, seja sRGB, Adobe RGB ou RGB simples.O descritor ICC determina o espaço de cores.Às vezes, isso está incorporado no arquivo jpg.Às vezes, há um sinalizador para designar sRGB, tag Exif Colorspace a001 = 1.Não existe um sinalizador padrão para Adobe RGB, mas alguns aplicativos e câmeras usam 65535 (não calibrado) para Adobe RGB na tag exif A001.

Para converter um arquivo jpg de um perfil ICC (espaço de cores) para outro, você pode usar CreateColorTransform para criar uma transformação entre os espaços de cores.Você precisará fornecer o perfil ICC para os espaços de cores de origem (Adobe RGB) e destino (sRGB).

Depois de fazer a transformação, use TranslateBitmapBits para ajustar os pixels.Pode ser mais fácil trabalhar com a imagem como uma DIBSecção.

Pode ser um pouco complexo escrever em .asp, então pode ser mais fácil usar uma biblioteca gráfica que faça isso.

Outras dicas

Dar uma olhada em ColorConvertedBitMap Class.

Você deve usar o imagemagic -perfil Opção, acredito que a opção -Colorspace não o ajudará lá.

convert image.jpg -profile sRGB.icc rgb_image.jpg

Como alternativa, você pode procurar Pequeno mecanismo de gerenciamento de cores

Dê uma olhada em As classes de transformação de bitmap que possui uma amostra curta do uso da classe ColorConvertedBitmap com um perfil.

No lado do servidor, você pode chamar para a ImageMagick e deixá -lo fazer a conversão para você.

Aqui está um link para a opção de linha de comando -Colorspace

Não usei essa opção em particular, mas parece fazer o que você deseja.

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