Você pode usar propriedades definidas por dados para isso. Use a guia estilo nas propriedades da camada e clique no botão de expressão à direita da cor.
Lá você pode usar a função color_rgba( red, green, blue, alpha )
para criar a cor. Todos os valores precisam estar entre 0 e 255.
Exemplo:
color_rgba( 255, 0, 0, ( 1 - "transparency" ) * 255 )
Isso fornecerá um estilo totalmente vermelho com o alfa definido em um campo "transparência", conforme sua especificação na pergunta.
No editor de expressões, você encontrará várias outras funções relacionadas a cores que podem atender melhor às suas necessidades, basta explorá-las e ler a documentação delas diretamente no editor de expressões.
Outro exemplo de valores nominais (qualitativos) que você normalmente classificaria é trabalhar no espaço hsv:
Existe a função color_hsva( hue, saturation, value, alpha )
para criar a cor. Os valores precisam estar entre
- matiz: 0-360 (ou seja, veja abaixo)
- valor e saturação: 0-100
- alfa: 0-255.
Exemplo:
color_hsva(
CASE
WHEN "classification" = 'red' THEN 0
WHEN "classification" = 'blue' THEN 240
END CASE, -- hue
80, -- saturation
80, -- value
( 1 - "transparency" ) * 255 -- alpha
)
Para QGIS> = 2.12, considere a resposta @ndawsons.
Como acompanhamento da resposta de Matthias, em QGIS> = 2.12, você pode usar uma cor de preenchimento definida por dados com a expressão:
O que essa expressão faz é pegar a cor original do polígono (@value) e substituir o canal alfa (opacidade) pelo valor calculado no campo). Isso significa que você pode definir a expressão da cor de preenchimento e, em seguida, seguir em frente e usar renderizadores categorizados ou graduados para definir automaticamente a cor de preenchimento base e a regra de opacidade ainda será respeitada. Não é necessário codificar os valores rgb dessa maneira!
fonte
Você também pode definir esses valores nas Propriedades da camada (clique com o botão direito do mouse em -> Propriedades).
Use Estilo -> Categorizado e selecione a coluna que deseja usar, por exemplo 'valor', escolha as cores na rampa de cores e clique em 'Classificar'.
Depois, você pode definir a cor de cada valor e sua transparência.
Se você adicionar novos valores à camada usada, clique em Clasify para adicioná-los ao seu estilo existente.
fonte