Marcas d'água

Última atualização em 2023-11-03
  • Criado para:
  • Developer
    User

O Servidor de imagens implementa um recurso simples de marca d'água visual.

Uma marca d'água normalmente é uma imagem semitransparente, mas pode ser um texto ou uma imagem composta em camadas mais complexa. O servidor coloca a marca d'água em camadas sobre a imagem de resposta após todos os atributos de exibição ( wid=, hei=, align=, scl=, bgc=) foram aplicadas.

A marca d'água é ativada pela configuração attribute::Watermark para uma entrada de catálogo válida que conteria a imagem ou o modelo da marca d'água. Se attribute::Watermark for definido em um catálogo nomeado, o servidor adicionará a marca d'água a todas as solicitações de imagem que fazem referência à id do catálogo no URL da solicitação. Se default::Watermark está definido (no catálogo padrão, default.ini), a marca d'água é aplicada a todas as solicitações de imagem, independentemente de referenciarem ou não um catálogo.

As marcas d'água não são aplicadas a imagens retornadas em resposta a solicitações de miniatura ( req=tmb) e determinadas solicitações de visualizadores do Dynamic Media.

Dimensionamento e alinhamento

Quando uma marca d'água é especificada, o servidor gera primeiro a imagem composta (a variável imagem de destino) ao qual a marca d'água precisa ser aplicada (antes da aplicação das transformações de visualização). Em seguida, o servidor gera a imagem composta para a marca d'água como qualquer outra imagem (a imagem da marca d'água).

Ao contrário das imagens padrão, sizeN= pode ser especificado para layer=0 ou layer=comp da imagem da marca d'água. Isso permite o dimensionamento da imagem da marca d'água em relação à imagem de destino. Se sizeN= não for especificada, a imagem de marca d'água manterá seu tamanho de pixel ao ser mesclada com a imagem de destino.

Comandos de solicitação (como fmt=) e comandos de visualização (como wid=) são ignorados em registros de marca d'água, com exceção de align=. align= pode ser usado para posicionar a imagem da marca d'água em relação à imagem da marca d'água em relação à imagem de destino. Isso permite o posicionamento da marca d'água em relação a um canto ou borda da imagem de destino.

Após dimensionar e alinhar, o servidor coloca a imagem da marca d'água em camadas sobre a imagem de destino usando o blendMode= e opac= valores especificados para layer=0 ou layer=comp da imagem da marca d'água. Finalmente, os comandos request e view especificados para a imagem de destino são aplicados para construir a imagem de resposta.

Observe que a imagem de marca d'água nunca se estende por nenhum espaço em branco adicionado à imagem de resposta pelo wid= e hei= comandos.

Exemplo

Uma marca d'água típica pode consistir em uma imagem RGBA simples contendo um logotipo ou um aviso de copyright. Criamos um registro no catálogo de imagens (ou no catálogo padrão) com catalog::Id definir como watermark e especifique o arquivo de imagem de marca d'água em catalog::Path. Queremos alongar a marca d'água para ajustá-la à imagem da exibição (sem distorcer a marca d'água), deixando uma pequena margem extra e reduzindo a opacidade para 20% da marca d'água original, então definimos catalog::Modifier para sizeN=0.9,0.9&opac=20. Para ativar a marca d'água, defina attribute::Watermark para a id da entrada do catálogo de marca d'água, "marca d'água" neste exemplo. Podemos querer experimentar com diferentes blendMode= para obter diferentes efeitos de marca d'água.

Consulte também

atributo::marca d'água

Nesta página