JavaFX: como fazer as coisas obscuras
JavaFX fornece três classes de efeitos que podem fazer um objeto borrada. Cada uma destas classes usa um método diferente para aplicar o borrão:
BoxBlur: Aplica-se uma técnica de desfoque simples e eficiente, em que cada pixel da região turva é calculado pela média de seus pixels vizinhos na imagem de entrada.
GaussianBlur: Usa um algoritmo de desfocagem de Gauss, que é mais precisa mas menos eficiente do que uma caixa de borrão.
motionblur: Borra a forma direcional, criando o efeito de movimento.
Esta tabela mostra os membros das três classes efeito de borrão.
construtores | Explicação |
BoxBlur () | Cria um novo efeito BoxBlur com as configurações padrão. |
GaussianBlur () | Cria um novo efeito GaussianBlur com as configurações padrão. |
Motionblur () | Cria um novo efeito motionblur com as configurações padrão. |
Métodos BoxBlur | Explicação |
setHeight void (valor duplo) | Define o tamanho vertical do efeito de borrão. |
setWidth void (valor duplo) | Define o tamanho horizontal do efeito de borrão. |
setIterations void (int valor) | Define o número de vezes que o efeito deve ser repetido. Thedefault é 1. |
Métodos GaussianBlur | Explicação |
setRadius void (valor duplo) | O raio do efeito de borrão. O padrão é 10,0. |
Métodos motionblur | Explicação |
vazio setAngle (valor duplo) | O ângulo do efeito de movimento, em graus. O is0.0 padrão. |
setRadius void (valor duplo) | O raio do efeito de borrão. O padrão é 10. |
A figura mostra o efeito de cada um destes tipos borrão sobre uma forma de texto. O código a seguir foi usada para criar estes três borrões:
t1 texto = new texto ( "BoxBlur") - t1.setFont (nova Font ( "Times New Roman", 60)) - t1.setFill (Color.LIGHTGRAY) -t1.setStroke (Color.BLACK) -t1.setEffect ( nova BoxBlur ()) - t2 Text = new Texto ( "GaussianBlur") - t2.setFont (nova Font ( "Times New Roman", 60)) - t2.setFill (Color.LIGHTGRAY) -t2.setStroke (Color.BLACK ) -t2.setEffect (nova GaussianBlur ()) - Texto t3 = new Texto ( "motionblur") - t3.setFont (nova Font ( "Times New Roman", 60)) - t3.setFill (Color.LIGHTGRAY) -T3 .setStroke (Color.BLACK) -t3.setEffect (nova motionblur ()) -
Como você pode ver, os valores padrão foram utilizados para cada um dos borrões. Se desejar, você pode usar os métodos listados na tabela para ajustar a aparência dos efeitos de blur.