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 colocará a marca d'água sobre a imagem de resposta após todos os atributos de visualizaçã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.
Quando uma marca d'água é especificada, o servidor primeiro gerará 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 o dimensionamento e o alinhamento, o servidor criará uma camada da imagem da marca d'água 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 da marca d'água nunca se estenderá por nenhum espaço em branco adicionado à imagem de resposta pelo wid=
e hei=
comandos.
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.