O parâmetro Cor do plano de fundo na API aberta do Dynamic Media não se aplica conforme esperado
Se você estiver usando o parâmetro background-color na API do Dynamic Media Open e a cor não for exibida, o problema ocorre porque o parâmetro se aplica somente quando a imagem original tem transparência e é entregue em um formato sem suporte a transparência, como o JPG. Para resolver isso, solicite a imagem no formato JPG e desative a formatação automática.
Descrição description
Ambiente
- Produto: Experience Manager Assets - API aberta do Dynamic Media
- Versão/restrições: aplicável ao fornecer ativos com transparência usando o parâmetro background-color.
Problema/Sintomas
O parâmetro background-color parece não se aplicar quando solicitado por meio da API de entrega. Isso pode resultar em:
- Áreas transparentes permanecem inalteradas quando a imagem é entregue.
- Confusão sobre se o parâmetro é funcional.
Por exemplo, se você solicitar uma imagem PNG com transparência e incluir background-color=rgb,00ff00, a imagem ainda exibirá a transparência em vez da cor especificada. Isso dificulta obter uma cor de fundo sólida para ativos destinados a formatos como o JPG.
Resolução resolution
Para fazer o parâmetro background-color funcionar conforme esperado na API aberta do Dynamic Media:
-
Solicite o ativo em um formato incompatível com a transparência, como o JPG.
O PNG oferece suporte à transparência, de modo que a cor do plano de fundo não será aplicada se a imagem for entregue como PNG.
-
Desabilite a formatação automática adicionando
auto-format=falseà cadeia de caracteres de consulta.A formatação automática pode substituir o formato escolhido e impedir a aplicação do parâmetro.
-
Especifique a cor do plano de fundo usando os valores de RGB na solicitação.
Exemplo:
background-color=rgb,00ff00preenche áreas transparentes com verde brilhante.
Amostras de URLs
Esta é uma imagem em uma ocorrência de teste que tem um canal alfa para transparência:
https://{delivery-instance}/adobe/assets/urn:aaid:aem:{asset-id}/as/Backpack_vert.png?width=1024&quality=65
Para aplicar a cor do plano de fundo, solicite a imagem no formato JPG e desative a formatação automática:
https://{delivery-instance}/adobe/assets/urn:aaid:aem:{asset-id}/as/Backpack_vert.jpg?auto-format=false&width=1024&quality=65&background-color=rgb,00ff00
Exemplo de chamada de API
Você pode fazer essa solicitação usando uma chamada HTTP GET padrão:
GET https://{delivery-instance}/adobe/assets/urn:aaid:aem:{asset-id}/as/Backpack_vert.jpg?auto-format=false&width=1024&quality=65&background-color=rgb,00ff00
Ou use curl:
curl "https://{delivery-instance}/adobe/assets/urn:aaid:aem:{asset-id}/as/Backpack_vert.jpg?auto-format=false&width=1024&quality=65&background-color=rgb,00ff00"
Explicação:
auto-format=falsegarante que a API respeite sua escolha de formato.background-color=rgb,00ff00substitui transparência por verde.- A imagem original deve ter transparência para que isso entre em vigor.