La clase Reflection es parte de JavaFX. La clase Reflection se usa para agregar una imagen reflejada debajo de la imagen real del valor de entrada. La imagen reflejada no responderá a los eventos del mouse ni a los métodos de contención en la entrada.
Constructores de la clase:
- Reflection() : Crea un nuevo objeto de reflexión.
- Reflexión (doble desplazamiento superior, doble fracción, doble opacidad superior, doble opacidad inferior) : crea un nuevo objeto de reflexión con el desplazamiento superior, la fracción, la opacidad superior y la opacidad inferior especificados.
Métodos comúnmente utilizados:
Método | Explicación |
---|---|
obtenerOpacidadInferior() | Devuelve el valor de bottomOpacity |
getTopOpacity() | Devuelve el valor de topOpacity |
obtenerFracción() | Devuelve la fracción que la imagen reflejada es de la imagen real |
obtenerDesplazamientoSuperior() | Devuelve el valor del desplazamiento superior |
obtenerEntrada() | Devuelve el valor de la entrada de la propiedad. |
setBottomOpacity(doble v) | Establece el valor de bottomOpacity |
setTopOpacity(doble v) | Establece el valor de topOpacity |
setFraction(doble v) | Establece la fracción que la imagen reflejada es de la imagen real |
setTopOffset(doble v) | Establece el valor del desplazamiento superior |
setInput(Efecto v) | Establece el valor de la propiedad de entrada |
Los siguientes programas ilustran el uso de la clase Reflection:
- Programa Java para agregar un reflejo a la imagen usando la clase de reflejo: En este programa se crea un FileInputStream y se toma una imagen como entrada de un archivo. Se crea una imagen denominada Imagen utilizando la entrada del flujo de entrada del archivo. A partir de la imagen, se crea un objeto de vista de imagen y se agrega al VBox . Luego se agrega el VBox a la escena y la escena se agrega al escenario. Se crea un efecto de reflejo y el efecto se establece en la vista de la imagen mediante la función setEffect() .
// Java program to add a reflection to
// the image using the reflection class
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.scene.image.*;
import
javafx.scene.effect.*;
import
java.io.*;
import
javafx.event.ActionEvent;
import
javafx.event.EventHandler;
import
javafx.scene.Group;
public
class
reflection_1
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"reflection example"
);
// create a input stream
FileInputStream input =
new
FileInputStream(
"D:\\GFG.png"
);
// create a image
Image image =
new
Image(input);
// create a image View
ImageView imageview =
new
ImageView(image);
// create a reflection effect
Reflection reflection =
new
Reflection();
// set effect
imageview.setEffect(reflection);
// create a VBox
VBox vbox =
new
VBox(imageview);
// create a scene
Scene scene =
new
Scene(vbox,
200
,
200
);
// set the scene
stage.setScene(scene);
stage.show();
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Producción:
- Programa Java para agregar un reflejo a la imagen usando la clase de reflejo y establecer el desplazamiento superior, la opacidad superior, la opacidad inferior y la fracción de la imagen que aparecerá como un reflejo: En este programa se crea un FileInputStream y se toma una imagen como entrada de un archivo. La imagen denominada imagen se crea utilizando la entrada del flujo de entrada del archivo. A partir de la imagen, se crea un objeto de vista de imagen y se agrega al VBox . Luego se agrega el VBox a la escena y la escena se agrega al escenario. Se crea un efecto de reflejo y el efecto se establece en la vista de la imagen mediante la función setEffect() . La opacidad inferior, la opacidad superior, el desplazamiento superior y la fracciónse configuran mediante las funciones setBottomOpacity(), setTopOpacity(), setFraction() y setTopOffset() respectivamente.
// Java program to add a reflection to the image
// using the reflection class and set the top
// offset, top opacity bottom opacity and fraction
// of image which will appear as reflection
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.scene.image.*;
import
javafx.scene.effect.*;
import
java.io.*;
import
javafx.event.ActionEvent;
import
javafx.event.EventHandler;
import
javafx.scene.Group;
public
class
reflection_2
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"reflection example"
);
// create a input stream
FileInputStream input =
new
FileInputStream(
"D:\\GFG.png"
);
// create a image
Image image =
new
Image(input);
// create a image View
ImageView imageview =
new
ImageView(image);
// create a reflection effect
Reflection reflection =
new
Reflection();
// set fraction
reflection.setFraction(
0.6
);
// set top Opacity
reflection.setTopOpacity(
0.3
);
// set bottom Opacity
reflection.setBottomOpacity(
0.1
);
// set top offset
reflection.setTopOffset(
0.5
);
// set effect
imageview.setEffect(reflection);
// create a VBox
VBox vbox =
new
VBox(imageview);
// create a scene
Scene scene =
new
Scene(vbox,
200
,
200
);
// set the scene
stage.setScene(scene);
stage.show();
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/Reflection.html
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA