La clase Bloom es parte de JavaFX. Bloom es un efecto de alto nivel que hace que las partes más brillantes de la imagen de entrada parezcan brillar, según un umbral configurable. La clase Bloom hereda la clase Effect .
Constructores de la clase:
- Bloom() : crea un nuevo objeto Bloom.
- Bloom(doble t) : Crea un nuevo efecto Bloom con un umbral especificado.
Métodos comúnmente utilizados:
Método | Explicación |
---|---|
obtenerEntrada() | Obtiene el valor de la propiedad de entrada |
obtenerUmbral() | Devuelve el valor del umbral |
setInput(Efecto v) | Establece el valor de la propiedad de entrada. |
establecer umbral (doble v) | Establece el valor umbral del efecto. |
Los siguientes programas ilustran el uso de la clase Bloom:
- Programa Java para importar una imagen y agregarle un efecto de floración: 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, el VBox se agrega a la escena y la escena se agrega al escenario. Se crea un efecto Bloom con un nivel específico que se pasa como parámetro y el efecto se establece en la vista de la imagen mediante la función setEffect() .
// Java program to import an image
// and add bloom effect to it
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
bloom_1
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"Bloom 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 bloom effect
Bloom bloom =
new
Bloom(
0.9
);
// set effect
imageview.setEffect(bloom);
// 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);
}
}
Imagen de entrada:
Producción:
- Programa Java para importar una imagen y establecerle un efecto de floración, el valor de umbral del efecto de floración se puede controlar con un botón: 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, el VBox se agrega a la escena y la escena se agrega al escenario. Se crea un efecto Bloom con un nivel especificado que se pasa como parámetro y el efecto se establece en la vista de la imagen usando setEffect()función. Se crea un botón llamado Botón que se utiliza para aumentar la floración de la imagen. El botón también se agrega al VBox . La floración de la imagen se incrementa usando la función setThreshold() . Los eventos relacionados con el botón se manejan mediante EventHandler .
// Java program to import an image and
// set bloom effect to it. The Threshold
// value of the bloom effect can be
// controlled using the button
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
bloom_2
extends
Application {
double
level =
0.1
;
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"Bloom 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 bloom effect
Bloom bloom =
new
Bloom(level);
// create a button
Button button =
new
Button(
"bloom"
);
// action event
EventHandler<ActionEvent> event =
new
EventHandler<ActionEvent>() {
public
void
handle(ActionEvent e)
{
// increase the level
level +=
0.1
;
if
(level >
1
)
level =
0.0
;
// set Level for bloom
bloom.setThreshold(level);
}
};
// set on action of button
button.setOnAction(event);
// set effect
imageview.setEffect(bloom);
// create a VBox
VBox vbox =
new
VBox(imageview, button);
// 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/Bloom.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