Qual é a melhor maneira de converter um .eps (cmyk) em um .jpg (rgb) com magia de imagem

StackOverflow https://stackoverflow.com/questions/3057870

  •  27-09-2019
  •  | 
  •  

Pergunta

Eu tenho vários arquivos .eps (cmyk) que preciso converter em arquivos .jpg (rgb).

O comando a seguir às vezes me dá imagens .jpg sobre ou mais saturadas, quando comparadas ao arquivo EPS de origem:

    $cmd = "convert -density 300 -quality 100% -colorspace RGB ".$epsURL." -flatten -strip ".$convertedURL; 

Existe uma maneira mais inteligente de fazer isso de modo que a imagem convertida tenha as mesmas qualidades que o arquivo EPS de origem?

Aqui está um exemplo das informações do arquivo de origem:

Imagem: REJM.P. Formato: PS (PostScript) Classe: Directclass Geometria: 537x471 Geometria da base: 1074x941 Tipo: Colorseparação Endianess: Colorido indefinido: CACA DE CORMA: CMYK INFERIÇÃO: CIAN: Magenta de 8 bit Estatísticas de canal de 8 bits: ciano: min: 0 (0) máx. 255 (1) Média: 161.913 (0,634955) Desvio padrão: 72.8257 (0,285591) Magenta: min: 0 (0) máx. (0,722591) Desvio padrão: 75.7933 (0,297229) Amarelo: Min: 0 (0) Máx: 255 (1) Média: 70.6607 (0,277101) Desvio padrão: 39.8677 (0,15634): Black: min: 0 (0) Max: 195 (0,877 (0,156344): min: 0) ) Média: 34.4382 (0,135052) Desvio padrão: 38.1863 (0,14975) Densidade total da tinta: 292% Cores: 210489 Intenção de renderização: Resolução indefinida: 28.35x28.35 Units: PixelsPercentImeter Arquivos: 997.727kB #Dfdfdfdfdfdf cor fosca: Grey74 Página Geometria: 537x471+0+0 Descarte: iterações indefinidas: 0 Compressão: Orientação indefinida: assinatura indefinida: 8EA00688CB5AE496812 125E8A5AEA40B0F0E69C9B49B2DC4EB028B22F76F2964 PRIFF-IPTC: 19738 Bytes

Obrigado

Foi útil?

Solução

Existe uma boa razão pela qual seus arquivos de saída estão no formato JPEG? EPS é um formato vetor especificamente otimizado para fotografias - isto é, imagens que consistem em manchas vagamente definidas de cor variável, em oposição a áreas sólidas definidas, que são as que as imagens vetoriais consistem.

Portanto, ao converter (rasterizar) de qualquer formato vetorial para JPEG, você é basicamente garantido para obter artefatos de borda feia e manchas manchadas no que deveria ser blocos de cor sólidos. Isso acontecerá, não importa o que você faça; É inerente ao formato JPEG. A maneira de minimizar isso é definir a compactação para zero, mas você não está recebendo nenhum dos benefícios e basicamente não tem motivos para usar o JPEG.

Os formatos de bitmap não-perdidos como o PNG, que são suportados por todos os navegadores da Web, são muito melhores; Eles podem fornecer cores sólidas e bordas mais limpas.

Se é outra pessoa que está especificando o formato JPEG para este projeto, imploro que você por favor, por favor, explique isso a essa pessoa. Infelizmente, a grande maioria das pessoas não entende esse fato muito básico sobre o formato JPEG, e só sabe que o JPEG é o formato "padrão" de bitmap, então a Web está cheia de imagens de bitmap jpeg de forma horrível. -Dollar, empresas para trabalhar com os chamados designers gráficos profissionais.

Se, por acaso, seus arquivos EPS de origem têm imagens de bitmap incorporadas nelas, e o que você está tentando fazer é extraí -las, em vez de rasterizar dados vetoriais, tenho certeza de que o tipo de ferramentas "ps2image" no GhostScript fará o trabalho em vez de.

Outras dicas

Um arquivo .EPS é um formato de arquivo vetorial.

A .jpg é formato de arquivo de bitmap.

O arquivo .EPS é renderizado a um bitmap que é compactado usando compactação JPEG e salvo em um arquivo .jpg.

O problema que você está enfrentando é que o CMYK foi projetado para saída do dispositivo. Assim, você precisará aplicar um perfil de ICC apropriado usando pouco CMS ou Photoshop/Photopaint. O perfil apropriado depende do dispositivo de saída. Se, por exemplo, você estiver exibindo o resultado no seu monitor, precisará usar um perfil ICC de seus monitores. Se você estiver emitindo o resultado da impressora do seu escritório, precisará usar o perfil da ICC da impressora do escritório. Os dispositivos de extremidade inferior normalmente não vêm com um perfil da ICC, no entanto, você poderá fazer o download de um para o seu dispositivo na Internet. O software de manipulação de imagens, como o Photoshop ou o Photopaint, vem com uma seleção de perfis que podem ser usados.

Você pode tentar algo assim, embora não tenha certeza se isso funcionará ou está correto. Veja o Documentação ImageMagick Para mais ajuda.

convert cmyk_image.eps -profile sRGB.icc rgb_image.jpg
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top