Compartilhar via


Efeito de turbulência

Use o efeito de turbulência para gerar um bitmap com base na função de ruído Perlin.

O efeito de turbulência não tem imagem de entrada.

O CLSID para esse efeito é CLSID_D2D1Turbulence.

  • de imagem de exemplo
  • propriedades do efeito
  • modos de ruído
  • de bitmap de saída
  • requisitos de
  • tópicos relacionados

Imagem de exemplo

captura de tela de exemplo de efeito mostrando a saída do efeito de turbulência.

O efeito Turbulência calcula a soma de uma ou mais oitavas da função de ruído Perlin. O ruído perlin é uma função pseudo-aleatória cujo valor depende da frequência, posição e valor da semente. O efeito gera os valores RGBA usando uma dessas equações.

Se você selecionar o modo de ruído D2D1_TURBULENCE_NOISE_FRACTAL_SUM, o efeito usará essa equação.

Captura de tela que mostra a função de turbulência usada para gerar um bitmap.

Se você selecionar o modo de ruído D2D1_TURBULENCE_NOISE_TURBULENCE, o efeito usará essa equação.

a função de turbulência usada para gerar um bitmap.

Nota

A função PerlinNoise tem um intervalo de [-1, 1].

Esse efeito gera valores de pixel no alfa pré-multiplicado.

Propriedades de efeito

Nome de exibição e enumeração de índice Descrição
Offset
D2D1_TURBULENCE_PROP_OFFSET
As coordenadas em que a saída de turbulência é gerada.
O algoritmo usado para gerar o ruído Perlin depende da posição, portanto, um deslocamento diferente resulta em uma saída diferente. Essa propriedade não é limitada e as unidades são especificadas em DIPs
Observação: O deslocamento não tem o mesmo efeito que uma tradução porque a saída da função de ruído é infinita e a função será encapsulada ao redor do bloco.
O tipo é D2D1_VECTOR_2F.
O valor padrão é {0.0f, 0.0f}.
Tamanho
D2D1_TURBULENCE_PROP_SIZE
O tamanho da saída de turbulência.
Essa propriedade não é limitada e as unidades são especificadas em DIPs

O tipo é D2D1_VECTOR_2F.
O valor padrão é {0.0f, 0.0f}.
BaseFrequency
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
As frequências base na direção X e Y. Esta propriedade é um float e deve ser maior que 0. As unidades são especificadas em 1/DIPs.
Um valor de 1 (1/DIPs) para a frequência base resulta no ruído Perlin completando um ciclo inteiro entre dois pixels. A interpolação de facilidade para esses pixels resulta em pixels completamente aleatórios, já que não há correlação entre os pixels.
Um valor de 0,1(1/DIPs) para a frequência base, a função de ruído Perlin se repete a cada 10 DIPs. Isso resulta em correlação entre pixels e o efeito de turbulência típico é visível.
O tipo é D2D1_VECTOR_2F.
O valor padrão é {0.01f, 0.01f}.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
O número de oitavas para a função de ruído. Esta propriedade é um UINT32 e deve ser maior que 0.
O tipo é UINT32.
O valor padrão é 1.
Semente
D2D1_TURBULENCE_PROP_SEED
A semente do gerador pseudo aleatório. Essa propriedade não está associado.
O tipo é UINT32.
O valor padrão é 0.
Ruído
D2D1_TURBULENCE_PROP_NOISE
O modo de ruído de turbulência. Essa propriedade pode ser soma fractal ou de turbulência. Indica se é necessário gerar um bitmap com base no Ruído Fractal ou na função Turbulência. Consulte modos de ruído para obter mais informações.
O tipo é D2D1_TURBULENCE_NOISE.
O valor padrão é D2D1_TURBULENCE_NOISE_FRACTAL_SUM.
Costurável
D2D1_TURBULENCE_PROP_STITCHABLE
Ativa ou desativa a costura. A frequência base é ajustada para que o bitmap de saída possa ser costurado. Isso será útil se você quiser estilar várias cópias da saída do efeito de turbulência.
  • True O bitmap de saída pode ser em bloco (usando o efeito de bloco) sem a aparência de costuras. A frequência base é ajustada para que o bitmap de saída possa ser costurado.
  • False A frequência base não é ajustada, portanto, as costuras podem aparecer entre blocos se o bitmap estiver em bloco.

O tipo é BOOL.
O valor padrão é FALSE.

Modos de ruído

Enumeração Descrição
D2D1_TURBULENCE_NOISE_FRACTAL_SUM Calcula uma soma das oitavas, deslocando o intervalo de saída de [-1, 1], para [0, 1].
D2D1_TURBULENCE_NOISE_TURBULENCE Calcula uma soma do valor absoluto de cada oitava.

Nota

Nenhum dos modos contém um grampo explícito dos valores de saída.

Bitmap de saída

Esse efeito gera um bitmap de tamanho logicamente infinito.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 e Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Servidor mínimo com suporte Windows 8 e Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Cabeçalho d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect