Javafx: cómo añadir sombras

Usted puede notar que la sombra en este rectángulo JavaFX se muestra aquí no parece muy realista. Esto se debe a que es directamente detrás del rectángulo, como si la fuente de luz que causa la sombra estaban muertos delante. Por lo general, se espera que las sombras sean en un ligero ángulo desde el objeto que proyecta la sombra, más a menudo por debajo del objeto y el desplazamiento hacia un lado.

Video: como hacer sombras de isometricos

Afortunadamente, la DropShadow clase tiene varias propiedades que le permiten controlar el tamaño y la posición de la sombra. Esos métodos se enumeran en esta tabla, que muestra los detalles no sólo de la DropShadow clase, sino también de su clase hermana, Sombra interior. los Sombra interior clase crea una sombra interior de una figura en lugar de fuera de la forma. Por ahora, se centran en DropShadow.

Las clases DropShadow y InnerShadow
ConstructorExplicación
DropShadow ()Crea un nuevo DropShadow efectuar con
configuración por defecto.
Sombra interior()Crea un nuevo Sombra interior efectuar con
configuración por defecto.
Los métodos comunesExplicación
setColor vacío (valor de color)Establece el color que se utilizará para la sombra. El valor por defecto es NEGRO.
setWidth void (valor doble)Establece el ancho de la sombra. El valor por defecto es 21.
void setHeight (valor doble)Establece la altura de la sombra. El valor por defecto es 21.
void setOffsetX (valor doble)El desplazamiento horizontal de la sombra. El valor por defecto es 0.
setOffsetY void (valor doble)El desplazamiento vertical de la sombra. El valor por defecto es 0.
void setRadius (valor doble)El radio de la sombra&rsquo-s efecto de desenfoque. El valor por defecto es
10.
Sólo dropShadowExplicación
void setSpread (valor doble)La proporción (de 0,0 a 1,0) de la sombra que debe ser una
color sólido en lugar de borrosa. El valor por defecto es 0.
Sólo InnerShadowExplicación
void setChoke (valor doble)La proporción (de 0,0 a 1,0) de la sombra que debe ser una
color sólido en lugar de borrosa. El valor por defecto es 0.

Los métodos de la DropShadow clase le permiten especificar la geometría exacta de la sombra que desea aplicar. los setWidth y setHeight métodos permiten especificar el tamaño de la sombra, y la setOffsetX y setOffsetY métodos permiten cambiar la ubicación de la sombra en relación con el centro de la forma. Por lo general, se le agrega una x- positivo e Y-offset para que la sombra aparece debajo ya la derecha de la forma, de esta manera:

DropShadow shadow1 = new DropShadow () - shadow1.setOffsetX (10) -shadow1.setOffsetY (10) -

En este ejemplo, la sombra se coloca 10 píxeles a la derecha y 10 píxeles por debajo de la forma.

Video: Aprende a usar la Herramienta Pluma y a crear sombra con Photoshop

los setRadius método le permite especificar el tamaño del efecto de desenfoque aplicado a los bordes de la sombra. Cuanto mayor sea este número, más borrosa aparecerá la sombra. También puede controlar el untado, que indica qué parte de la falta de definición de la sombra debe ser de color sólido antes de las patadas efecto de desenfoque en.

Esta figura muestra una aplicación JavaFX que demuestra nueve variaciones de la sombra de la gota básica.

Para crear estos rectángulos sombreados, un método de utilidad nombrado createShadowedBox fue creado. Aquí está el código para este método:

Rectángulo createShadowedBox (tamaño doble, doble ShadowWidth, doble shadowHeight, doble offsetX, doble offsetY, doble radio) {rectángulo R = new Rectángulo (tamaño, tamaño) -r.setFill (Color.LIGHTGRAY) -r.setStroke (Color.BLACK) -r.setStrokeWidth (2) -DropShadow e = nuevo DropShadow () - e.setWidth (ShadowWidth) -e.setHeight (shadowHeight) -e.setOffsetX (offsetX) -e.setOffsetY (offsetY) -e.setRadius (radio) -r.setEffect (e) -Retorno r}

Como se puede ver, este método acepta seis parámetros: el tamaño del rectángulo para crear (el rectángulo es en realidad un cuadrado, por lo que el tamaño se utiliza tanto para la anchura y la altura), la anchura y la altura de la sombra, la x - e y compensaciones para la sombra, y radio de desenfoque de la sombra.

Video: Hacer sombras con Gimp

El método se inicia mediante la creación de un rectángulo. Entonces, se crea una gota de sombra, se aplica la anchura, altura, x-offset, offset y, y el radio, y luego se aplica el efecto al rectángulo y devuelve el rectángulo.

Para crear los rectángulos sombreados reales, la createShadowBox método fue llamado nueve veces, utilizando diferentes valores de los parámetros:

Rectángulo r1 = createShadowedBox (100, 10, 10, 5, 5, 10) -Rectangle r2 = createShadowedBox (100, 20, 20, 10, 10, 10) -Rectangle r3 = createShadowedBox (100, 30, 30, 15, 15 , 10) -Rectangle r4 = createShadowedBox (100, 20, 20, 0, 0, 10) -Rectangle r5 = createShadowedBox (100, 20, 20, 0, 10, 10) -Rectangle r6 = createShadowedBox (100, 20, 20 , 10, 0, 10) -Rectangle r7 = createShadowedBox (100, 20, 20, 10, 10, 0) -Rectangle r8 = createShadowedBox (100, 20, 20, 10, 10, 20) -Rectangle r9 = createShadowedBox (100 , 20, 20, 10, 10, 50) -

Para el primer conjunto de tres, el tamaño y el desplazamiento de la sombra era variado, en cada uno, utilizando los mismos valores para la anchura y la altura y para el desplazamiento x y el offset y-. Por lo tanto, la primera fila de rectángulos en la figura muestran varias colocaciones de la sombra debajo ya la derecha de los rectángulos.

Video: Como Aplicar Sombras Paso a Paso

Para el siguiente conjunto de tres, el desplazamiento x o y-desplazamiento se puso a cero para demostrar las variaciones de la offset. Y para el conjunto final de tres, el radio era variada. Observe que cuando el radio se establece en 0, los bordes de la sombra son nítidas. Con valores de radio de mayor tamaño, la sombra se hace más borrosa.

Esta figura muestra cómo funcionan interno sombras. Por esta figura, una sola línea de código se cambió en el createShadowBox Método: En lugar de crear una DropShadow, un Sombra interior fue creado:

InnerShadow e = nueva InnerShadow () -

Como se puede ver, el Sombra interior clase coloca la sombra en el interior del rectángulo en lugar de en el exterior.

Artículos Relacionados