Exemplo C example-c

Crie um aplicativo em camadas de "boneca de papel".

Uma imagem de fundo contém a foto de um modelo ou manequim. Registros adicionais no catálogo de imagens contêm vários artigos de vestuário e acessórios, fotografados para corresponder ao manequim em forma e tamanho.

Cada foto de vestuário/acessório é mascarada e cortada na caixa delimitadora de máscara para minimizar os tamanhos de imagem. As âncoras e resoluções de imagem são cuidadosamente controladas para manter o alinhamento entre as camadas e a imagem de plano de fundo, e todas as imagens são adicionadas a um catálogo de imagens, com os valores apropriados armazenados em catalog::Resolution e catalog::Anchor.

Além da disposição em camadas, também é necessário alterar a cor dos itens selecionados. Os registros desses itens são pré-processados para remover a cor original e ajustar o brilho e o contraste de uma forma adequada para o comando de coloração. Esse pré-processamento pode ser feito offline, usando uma ferramenta de edição de imagens como o Adobe Photoshop, ou, em casos simples, pode ser feito trivialmente ao adicionar op_brightness= e op_contrast= ao campo catalog::Modifier.

Este aplicativo não garante um modelo separado, pois todos os objetos já estão corretamente alinhados por suas âncoras de imagem ( catalog::Anchor) e dimensionados ( catalog::Resolution). Cabe ao cliente garantir a ordem apropriada das camadas.

Uma solicitação típica pode ter esta aparência:

http://server/rootId/mannequin?&hei=400&qlt=90&
layer=1&res=999&src=rootId/tankTopGeneric&colorize=240,122,17&
 layer=2&res=999&src=rootId/skirt14a&
layer=3&res=999&src=rootId/jacket09&
layer=4&res=999&src=rootId/hat2generic&colorize=12,15,34&
 layer=5&res=999&src=rootId/sunglasses&
layer=6&res=999&src=rootId/shoes21

Somente a altura é especificada. Isso permite que a imagem retornada varie em largura, dependendo da proporção da imagem do manequim, sem que as margens sejam preenchidas com a cor de fundo.

Não importa qual resolução é especificada para cada camada, desde que todas sejam iguais. Esta versão pode não permitir exibições maiores do que as imagens compostas. Especificar um valor de resolução grande evita problemas relacionados a essa limitação. Todo o processamento e composição é feito na resolução ideal para o tamanho de imagem solicitado, para ajudar a alcançar o melhor desempenho e qualidade de saída.

Os comandos res= podem ser omitidos se todas as imagens de origem tiverem a mesma resolução em escala completa (o que provavelmente é o caso desse tipo de aplicativo).

O rootId deve ser especificado para todos os comandos src=, mesmo que sejam iguais ao rootId especificado no caminho de url.

Se nenhum catálogo de imagens for usado, não será possível uma abordagem de dimensionamento baseada em resolução. Nesse caso, os fatores de escala explícitos devem ser calculados para cada item da camada, com base na proporção dos valores catalog::Resolution para cada camada para o valor catalog::Resolution da camada de plano de fundo. A solicitação de composição (com menos camadas) pode ter esta aparência:

http://server/myApp/mannequin.tif?&hei=400&qlt=90&
 layer= 1&scale=0.3423&anchor=345,225&src=myApp/images/tankTopGeneric.tif&colorize=240,122,17&
 layer=2&scale=0.8544&anchor=140,-157&src=myApp/images/skirt14a
recommendation-more-help
a26166cd-f2f4-45ce-996d-96a0f0d6cf49